バックグラウンドで継続的に実行されているアプリケーションがあります。アプリは UCWA REST API を使用します。認証後、OAuth トークンと有効期限を取得します。認証ドキュメントには、「認証されたユーザーのトークンの有効期間は 8 時間です。クライアント アプリケーションは有効期限を監視し、必要に応じてトークンを更新する必要があります」と記載されています。では、いつトークンをリフレッシュする必要があるのでしょうか? トークンの更新を開始するときに、どの有効期限を確保する必要がありますか? 1分、10分、60分?OAuth のベスト プラクティスとは?
1111 次
1 に答える
1
チケット サービスからの応答は、ユーザーに OAuth トークン、トークンの種類、および有効期限の値を提供します。この値は秒単位で測定されます。つまり、分 (60) または時間 (3600) を分割して、リクエストが 401 Unauthorized で失敗し始めると予想できる値を取得できます。監視は、アプリケーションが匿名の会議参加を使用している場合に最も役立ちます。これは、トークンの有効期限が約 1 時間と非常に短く、トークンの更新を直接提供する唯一の認証メカニズムであるためです。
これにより、次の 2 つのアプローチが考えられます。
- 匿名の会議参加を使用している場合
- 認証応答で見つかった有効期限の値を確認し、予想される値よりも短いタイマーを開始します (おそらく 1 ~ 3 分短い)
- タイマーの期限が切れたら、OAuth トークンを更新します
- 匿名の会議参加を使用しない場合
- 401 が発生するまでリクエストを送信する
- WWW-Authenticate の応答ヘッダーを確認し、別の認証要求を送信して新しいトークンを取得します
- 新しいトークンでリクエストを再発行する
非匿名の会議参加シナリオでトークンを更新するアクションを実行する前に、401 が来るのを待つことをお勧めします。
于 2015-06-09T13:26:33.047 に答える