この SO 返信で説明されている OAuth2 の通常のフローは次のとおりです。
- アクセス トークンを使用して API リクエストを送信する
- アクセス トークンが無効な場合は、リフレッシュ トークンを使用して更新してみてください
- 更新リクエストがパスした場合は、アクセス トークンを更新し、最初の API リクエストを再送信します
- 更新リクエストが失敗した場合、ユーザーに再認証を求める
これはほとんどの API 呼び出しで問題ありませんが、1 つ気になる点があります。それは、認証です。
ユーザーが自分のお気に入りのサービスを使用して私のおしゃれな新しい Web アプリにサインインしようとすると、更新トークン (または OAuth1 の場合はキャッシュされたアクセス トークン) を使用してサインインを試みる必要がありますか、それとも常に新しいトークンを取得する必要がありますか?サービス プロバイダー (Google、Facebook など) から取得し、保存されているアクセス トークンとリフレッシュ トークンを破棄しますか?