トークンリフレッシュシステムを実装したAPIに直面しています。 APIリクエストにRetrofit
を使用しています。Error 401
が指定されたときに検出し、トークンをリフレッシュするための新しいリクエストをするためにAuthenticatorを設定しました。複数の非同期api呼び出しを使用するオーセンティケータ
複数のリクエストが同時にある場合(たとえば、ViewPager
の複数のページを記入する場合や、ユーザーがアプリを使用中に別のAPIリクエストが発生した場合のService
のAPIリクエストの場合)エラーが複数回発生しているため、アプリケーションがオーセンティケータを複数回要求しています。
これをどのように修正できますか?私はアプリケーションがトークンリフレッシュコールを行っているかどうかを検出するためにboolean
とSingleton
を考えていますが、それを達成するための最良の方法とは思われません...どのようなrecomendations?
はイアン湖からこの記事に私がチェックします https://medium.com/google-developers/making-loading-data-on-android-lifecycle-aware-897e12760832#.llikp8avi – marco
を見てみましょうそれ、ありがとう! – antonicg
OAuthを使用していますか?どのくらいの頻度でアクセストークンを更新する必要がありますか?それほど頻繁ではない場合は、現在のユーザーが有効なトークンを持っている場合は、「テスト」エンドポイントにアクセスしようとすることで、アプリケーションの開始をチェックできます。 200を受信してコンテンツ画面やその他の要求を処理する場合は、新しいアクセストークンを取得しようとしない場合、まだ有効でない場合は、新しい更新トークン - >ログイン画面を表示する必要があります。 – rafakob