10

OpenID Connect ID トークン (id_token) とアクセス トークン (access_token) の 2 つの JWT を受け取ります。OpenID の状況は多かれ少なかれ明確です。JWKS エンドポイントを使用して検証できます: https://smth.com/JWKS

例のように ( https://bitbucket.org/b_c/jose4j/wiki/JWT%20Examples ):

HttpsJwks httpsJkws = new HttpsJwks("https://smth.com/JWKS");
HttpsJwksVerificationKeyResolver httpsJwksKeyResolver = new HttpsJwksVerificationKeyResolver(httpsJkws);
jwtConsumer = new JwtConsumerBuilder()
    .setVerificationKeyResolver(httpsJwksKeyResolver)
    .setExpectedAudience(...)
    .setExpectedIssuer(...)
    .build();

問題は、アクセス トークンをどのように処理するかです。そこから userId と userDetails を抽出できますが、それを検証する必要もあると思いますか?

ID トークンと同じようにアクセス トークンを検証しようとすると、次のエラーが発生します。

UnresolvableKeyException: ヘッダー {"alg" : "RS256", "kid":"1"} を持つ JWS の適切な検証キーが見つかりません

実際、 のキーはありません"kid" : "1"。また、この値"1"はちょっと奇妙に思えますか?

私は何か完全に間違っていますか?

4

1 に答える 1