7

リフレッシュ トークンを使用して新しいアクセス トークンを要求するタイミングを決定するために、2 つのアプローチ (以下) を認識しています。これらのアプローチのいずれかは、passport-google-oauthライブラリを変更せずに可能ですか?

1) 「先制」方式

  • 付与されたアクセストークンの有効期限を保存する
  • アクセス トークンを使用して API にアクセスするたびに、現在の時刻に対する有効期限を確認します
  • アクセス トークンの有効期限が切れていない場合は、それを使用して API にアクセスします
  • アクセス トークンの有効期限が切れている (または期限切れに近い) 場合は、更新トークンを指定して新しいアクセス トークンを取得します。

2) 「失敗を処理する」方法

  • 常にアクセス トークンを提供する
  • アクセス トークンの認証に失敗した場合は、更新トークンを提供し、新しいアクセス トークンを取得します。

ありがとう。また、任意の代替を歓迎します。

4

2 に答える 2

7

Passport は、ログイン時にユーザー プロファイルを取得する以外に、アクセス トークンまたはリフレッシュ トークンを積極的に使用しないことに注意してください。アプリケーションは、必要な API リクエストを行うときにこれらのトークンを使用する責任があります。そのため、説明したいずれかの方法を実装できます。Passport はプロセスに関与しません。

参照: https://github.com/jaredhanson/passport-google-oauth/issues/23

于 2013-10-25T21:44:50.047 に答える
6

これを少し簡単に処理するためのプラグインを作成しました: https://github.com/fiznool/passport-oauth2-refresh

于 2014-11-16T09:36:43.280 に答える