Azure AD B2Cには、アプリケーションが実行時に情報を取得できるようにするOpenID Connectメタデータエンドポイントがあります。このエンドポイントには、トークンの署名キー、トークンの内容、エンドポイントに関する情報があります.jwk_urisを取得するには、このエンドポイントを照会する必要があります。 jwk_uriにはjwtに署名するための鍵のURIがあります。私は24時間以上これらのキーをキャッシュする必要があります。誰も私が春にこれを行う方法を私に示唆することはできますか?これをサポートするAPIはありますか? Springフレームワークを使用して可能な解決策は、スケジューラとキャッシュを組み合わせることであろうjson Webキーをopenidから取得しましたopenidからメタデータエンドポイントに接続
答えて
HttpsJwksは、キャッシュ・ディレクティブ・ヘッダーまたはhttpレスポンス、またはsetDefaultCacheDuration(long defaultCacheDuration)に基づいて、レスポンスのキャッシュ・ディレクティブ・ヘッダーが存在しない場合、一定期間キーをキャッシュしますまたはコンテンツがキャッシュされるべきでないことを示します。
アンHttpsJwksオブジェクトがキャッシュされたセットに含まれないJWTでも、それはkid
(キーID)発生した場合、jwk_uri
に新鮮な呼び出しを行うとキャッシュをreeastablitshますJwtConsumer/JwtConsumerBuilder and HttpsJwksVerificationKeyResolverと組み合わせて使用することができますキーの。
私はTwo-pass JWTの消費量を使い、新しいHttpsJwksVerificationKeyResolver(httpsJkws)を使って検証キーを渡します。私は主張を処理することができますが、私は署名の検証について混乱しています。私は署名を検証するためにもっと多くのことを行う必要がありますか、HttpsJwksVerificationKeyResolverは内部的に署名を検証します。 – Shiv
私はクレームの検証と署名の検証の間に混乱しています。これらはどちらもHttpsJwksVerificationKeyResolverによって処理されますか? – Shiv
JwtConsumerクラスは、クレームの検証と署名の検証の両方を行います(もちろん、JwtConsumerBuilderを使用して作成された方法にもよる)。 HttpsJwksVerificationKeyResolverは、jwk_uriのJWKからJWTのヘッダーを見て適切なキーを見つけ、JwtConsumerに提供します.JwtConsumerは、キーを使用して署名を検証します。署名が有効であれば、クレームがチェックされます。 2パスJWT消費量を使用すると、すべての検証が2回目のパスで行われます。また、キャッシュの利点を得るには、HttpsJwksインスタンスを再利用する必要があります。 –
- 1. OpenId接続のOauth2
- 2. OpenIDの接続ディスカバリー
- 3. GスイートPersonnal WebアプリケーションのOpenId接続
- 4. ずにOpenIDの接続を実装oidc-クライアント-jsから
- 5. OpenAM OpenID接続トークン確認
- 6. OpenIdステートレスSSOのログアウト接続
- 7. OpenId GoogleとlinkedInの接続
- 8. OpenIdへの接続connect
- 9. OpenIDプロバイダーに接続できません
- 10. OpenIdを使用したトークンの取得Azure Active Directoryへの接続
- 11. invalid_grant PayPalからOpenID Connectトークンを取得しようとしています
- 12. OpenIDをReact-Reduxアプリケーションに接続する
- 13. OpenIDからユーザー名とメールアドレスを取得するログインユーザー名
- 14. Yesodからの電子メールアドレスの取得OpenID
- 15. OpenID - ユーザー情報を取得していますか?
- 16. Nodejs - Webから取得したjsonを解析します。
- 17. Keycloakからキーを解読する方法openid-connect cert api
- 18. Openid接続エンドポイント間の通信
- 19. OpenId 'PAPE相当のFacebookブック接続
- 20. OpenID組み込みリソースで接続
- 21. アーキテクチャの仕組みマイクロサービスとOpenID接続?
- 22. OpenId JWTサブまたは電子メールを接続
- 23. oauthを使用してASP.NET(VB.NET)でopenid接続できますか?
- 24. ADAP4-OAuth2のWebAPIからユーザー名を取得できません。OpenID
- 25. OAuth/OpenID - どちらを使用しますか?
- 26. Propel接続から接続名を取得できますか?
- 27. jsonからキーを取得し、キーから検索を表示する
- 28. openid-selector/dotnet openidを使用した場合の問題
- 29. OpenId + JSFはログインしたページにユーザーをリダイレクトしますか?
- 30. JavaScriptを使用したWebサービスからJSONを取得
これまでに試したことはありますか? – UditS
私はまだ私の研究をしていますが、キャッシングに使用できるものは何も見つかりませんでした。私は[link](https://bitbucket.org/b_c/jose4j/wiki/Home)を参照しました。私も[リンク](http://www.programcreek.com/java-api-examples/index.php?source_dir=identity-providers-examples-master/OpenID-Connect-MITREid-Java-Spring-Server/openid)を見つけました。 -connect-common/src/main/java/org/miter/jwt/signer/service/impl/JWKSetCacheService.java)を使用する必要があるかどうかを確認します。 – Shiv
org.jose4j.jwk.HttpsJwksはキャッシュします。だから私は自分の問題にjose4jを使うことができると思う?しかし、私はHttpsJwksについての詳細な文書を入手しなかった。誰かが私にこれを助けることができますか?返信ありがとう。 – Shiv