問題タブ [angular-auth-oidc-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - リフレッシュ トークンの有効期限が切れている場合でもアクセス トークンを要求できるのはなぜですか?
リフレッシュ トークンに関する質問があります。次のように、Identity Server で Angular クライアントを構成しました。
また、Angular クライアントは「サイレント更新」メカニズムを使用します (angular-auth-oidc-client を使用)。
Angular クライアントが起動すると、20 秒後に「サイレント更新」が開始され、新しいアクセス トークンが要求されます。これは、30 秒のアクセス トークンの有効期間の約 75% であるため、理にかなっています)。新しいアクセス トークンを取得し、すべてが機能し続けます。
ある時点で、サイレント更新を停止します。これは、アクセス トークンが更新されなくなったことを意味します。実際、しばらくすると、アクセス トークンの有効期限が切れたため、Web API への呼び出しが失敗します。
さて、数分後、「サイレント更新」を再開します。
奇妙なことに、新しいアクセス トークンの取得に成功していますが、リフレッシュ トークンは 60 秒後に期限切れになるはずなので、これはもう機能しないはずだと理解していましたか?
おそらく、このスライディング リフレッシュ トークン メカニズムがどのように機能するかを誤解している..期限切れのリフレッシュ トークンを使用して新しいアクセス トークンをリクエストできる理由を誰か説明できますか?