kullanarak. OpenID ile durum az ya da çok açık - JWKs Endpoint: https://smth.com/JWKS kullanarak bunu doğrulayabilirim. Örneğin (https://bitbucket.org/b_c/jose4j/wiki/JWT%20Examples) olduğu gibiSüreç JWT belirteç İki JWTS almak JWKs Endpoint
:
HttpsJwks httpsJkws = new HttpsJwks("https://smth.com/JWKS");
HttpsJwksVerificationKeyResolver httpsJwksKeyResolver = new HttpsJwksVerificationKeyResolver(httpsJkws);
jwtConsumer = new JwtConsumerBuilder()
.setVerificationKeyResolver(httpsJwksKeyResolver)
.setExpectedAudience(...)
.setExpectedIssuer(...)
.build();
soru Erişim Token ile devam etmek nasıl. Ben ondan userId ve userDetails ayıklamak olabilir, ama ben de bunu doğrulamak gerekiyor?
ben hata alıyorum simgesi için aynıdır denerseniz: UnresolvableKeyException: Unable to find a suitable verification key for JWS w/ header {"alg" : "RS256", "kid":"1"}
. Ve gerçekten de "çocuk" için bir anahtar yoktur: "1", Aynı zamanda "1" bu değer biraz garip görünüyor?
Tamamen yanlış bir şey yapıyorum? Açık Kimlik Bağlan istemci rolünü uygulayan veya Partiyi güvenerek gibi
https://smth.com/JWKS içeriği nedir? smth.com benim için çözülmez. –
Tüm istisna mesajı, içeriği JWKS bitiş noktasından da göstermelidir. JWKS'yi görmeden tam olarak ne olduğunu söyleyemem ama temel olarak ne olduğunu, JWT'nin RSA ile imzalandığını ve “1” değerine sahip bir anahtar kimlik başlığının dahil edildiğini ve bunun da JWKS'de uygun doğrulama anahtarını göstermesi gerektiğini (görsel örnek http://www.slideshare.net/briandavidcampbell/i-left-my-jwt-in-san-jose/30). Bu, JWKS son noktasında çocuk = 1 olan RSA anahtarı olmadı. –
Yanıt için teşekkürler, soru değiştirdim. Evet, çocuk = 1 için bir anahtar yoktur, '1' değeri de 'dp1kr' gibi gerçek bir çocuk sahibi olduğum OpenID ile karşılaştırıldığında garip görünüyor ve zamanla değişiyor. Bu tür bir kimlik doğrulamasıyla karşılaşırsanız ve bana bir ipucu verebilirseniz - her iki belirteç de aynı şekilde ilerlenmeli mi yoksa yapılmamalı mı? –