का उपयोग कर मैं दो JWTs प्राप्त करते हैं: एक जगह OpenID Connect टोकन (id_token) और एक पहुंच टोकन (ACCESS_TOKEN)। ओपनआईडी के साथ स्थिति कम या ज्यादा स्पष्ट है - मैं इसे जेडब्ल्यूके एंडपॉइंट का उपयोग करके मान्य कर सकता हूं: https://smth.com/JWKS।प्रक्रिया जेडब्ल्यूटी टोकन JWKs Endpoint
उदाहरण ( 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();
सवाल पहुंच टोकन के साथ आगे बढ़ना करने के लिए कैसे है। मैं इसे उपयोगकर्ता आईडी और उपयोगकर्ता विवरण से निकाल सकता हूं, लेकिन मुझे लगता है कि मुझे इसे सत्यापित करने की भी आवश्यकता है?
अगर मैं टोकन के लिए के रूप में ही की कोशिश मैं त्रुटि हो रही है: UnresolvableKeyException: Unable to find a suitable verification key for JWS w/ header {"alg" : "RS256", "kid":"1"}
। और वास्तव में "बच्चे" के लिए कोई कुंजी नहीं है: "1", यह मान "1" थोड़ा अजीब लगता है?
मैं कुछ पूरी तरह से गलत कर रहा हूं?
https://smth.com/JWKS की सामग्री क्या है? smth.com मेरे लिए हल नहीं करता है। –
पूर्ण अपवाद संदेश को उस जेडब्ल्यूकेएस एंडपॉइंट से सामग्री भी दिखाना चाहिए। जेडब्ल्यूकेएस को देखे बिना मैं बिल्कुल नहीं कह सकता कि क्या हो रहा है लेकिन मूल रूप से क्या हो रहा है, जेडब्ल्यूटी पर आरएसए के साथ हस्ताक्षर किए गए थे और मूल्य "1" के साथ एक प्रमुख आईडी हेडर शामिल था, जो जेडब्ल्यूकेएस में उपयुक्त सत्यापन कुंजी को इंगित करना चाहिए (दृश्य उदाहरण http://www.slideshare.net/briandavidcampbell/i-left-my-jwt-in-san-jose/30)। ऐसा लगता है कि उस जेडब्ल्यूकेएस एंडपॉइंट पर बच्चे = 1 के साथ कोई आरएसए कुंजी नहीं है। –
प्रतिक्रिया के लिए धन्यवाद, मैंने सवाल बदल दिया। हां बच्चे = 1 के लिए कोई कुंजी नहीं है, ओपनआईडी की तुलना में मूल्य '1' भी अजीब लगता है, जहां मुझे कुछ वास्तविक बच्चा मिलता है, जैसे 'डीपी 1 केआर' और यह समय के साथ बदल जाता है। यदि आपको इस तरह के प्रमाणीकरण का सामना करना पड़ा और मुझे संकेत मिल सकता है - यदि दोनों टोकन उसी तरह आगे बढ़े या नहीं? –