0

oidc-client-jsライブラリを使用して、Angular アプリからの IdentityServer4 実装に対する OIDC リダイレクト SSO スタイル認証を処理しています。アプリの IdToken/Cookie は 1 日以上有効です。アクセス トークンの有効期間が短くなり、サイレント リフレッシュが行われます。ユーザーが再度ログインしなくてもアプリが実行されたままになる場合がありますが、これは私たちが望んでいることですが、機密データのためにユーザーの身元を確認したいアプリの特定の領域がある場合があります。

アプリにパスワードを再度要求させ、ResourceOwner 許可スタイルのパスワード検証を実行するだけでこれを行うことは、ライブラリではまだサポートされていません。ログインを強制するためのプロンプト要求設定で既存の popUpRedirect を使用してもかまいません。私が行き詰まっているのは、最後のユーザーログインのタイムスタンプが発生した場所がどこにも表示されないことです (少なくとも文書化されています)。元。ユーザーが過去 5 分間にログオンした場合、機密データへのアクセスは問題ありません。

誰もが声をかける前に、私はアクセス トークンのタイムスタンプや有効期限を探しているわけではありません。私たちのアクセス トークンは、ユーザーの介入なしに静かに更新されているため、役に立ちません。IdToken のタイムスタンプを探していますか? 図書館はそれを公開していますか?それとも、このプロセスについてすべて間違っていますか? 前もって感謝します。

4

1 に答える 1

0

要求は、auth_time対話型認証が最後に発生したときに確認する必要があるものです。これは id_token と access_token の両方に存在するため、クライアントが十分に新しいかどうかを確認し (そうでない場合は prompt=login 要求をトリガーし)、機密性の高いバックエンド API で十分に最近のものであるとアサートするのは簡単です。 .

于 2018-12-19T10:51:38.610 に答える