0

バックグラウンドで継続的に実行されているアプリケーションがあります。アプリは UCWA REST API を使用します。認証後、OAuth トークンと有効期限を取得します。認証ドキュメントには、「認証されたユーザーのトークンの有効期間は 8 時間です。クライアント アプリケーションは有効期限を監視し、必要に応じてトークンを更新する必要があります」と記載されています。では、いつトークンをリフレッシュする必要があるのでしょうか? トークンの更新を開始するときに、どの有効期限を確保する必要がありますか? 1分、10分、60分?OAuth のベスト プラクティスとは?

4

1 に答える 1

1

チケット サービスからの応答は、ユーザーに OAuth トークン、トークンの種類、および有効期限の値を提供します。この値は秒単位で測定されます。つまり、分 (60) または時間 (3600) を分割して、リクエストが 401 Unauthorized で失敗し始めると予想できる値を取得できます。監視は、アプリケーションが匿名の会議参加を使用している場合に最も役立ちます。これは、トークンの有効期限が約 1 時間と非常に短く、トークンの更新を直接提供する唯一の認証メカニズムであるためです。

これにより、次の 2 つのアプローチが考えられます。

  • 匿名の会議参加を使用している場合
    • 認証応答で見つかった有効期限の値を確認し、予想される値よりも短いタイマーを開始します (おそらく 1 ~ 3 分短い)
    • タイマーの期限が切れたら、OAuth トークンを更新します
  • 匿名の会議参加を使用しない場合
    • 401 が発生するまでリクエストを送信する
    • WWW-Authenticate の応答ヘッダーを確認し、別の認証要求を送信して新しいトークンを取得します
    • 新しいトークンでリクエストを再発行する

非匿名の会議参加シナリオでトークンを更新するアクションを実行する前に、401 が来るのを待つことをお勧めします。

于 2015-06-09T13:26:33.047 に答える