मान्य करें मैं एंड्रॉइड क्लाइंट को एपीआई की सेवा के लिए एएसपी.NET कोर का उपयोग कर रहा हूं। एंड्रॉइड एक Google खाते के रूप में साइन इन करता है और एक जेडब्ल्यूटी, आईडी टोकन, को बीयरर टोकन के रूप में एपीआई में पास करता है। मेरे पास ऐप काम कर रहा है, यह ऑथ चेक पास करता है, लेकिन मुझे नहीं लगता कि यह टोकन हस्ताक्षर को मान्य कर रहा है।Google आईडी टोकन
Google के दस्तावेज़ों के अनुसार, मैं यह यूआरएल इसे करने के लिए कह सकता हूं: https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123, लेकिन मुझे सर्वर पक्ष पर उचित हुक नहीं मिल रहा है। Google डॉक्स के अनुसार, मैं क्लाइंट एक्सेस एपीआई का उपयोग किसी भी समय सर्वर पर कॉल किए बिना करने के लिए कर सकता हूं।
मेरे विन्यास कोड:
app.UseJwtBearerAuthentication(new JwtBearerOptions()
{
Authority = "https://accounts.google.com",
Audience = "hiddenfromyou.apps.googleusercontent.com",
TokenValidationParameters = new TokenValidationParameters()
{
ValidateAudience = true,
ValidIssuer = "accounts.google.com"
},
RequireHttpsMetadata = false,
AutomaticAuthenticate = true,
AutomaticChallenge = false,
});
मैं हस्ताक्षर मान्य करने के लिए JWTBearer मिडलवेयर कैसे मिलता है? मैं एमएस मिडलवेयर का उपयोग करने और खुद को घुमाने के लिए छोड़ने के करीब हूं।
वाह के रूप में लॉग किया गया है। मैं 2012 से आधिकारिक Google .Net क्लाइंट लाइब्रेरी पर योगदानकर्ता रहा हूं। क्या आप निश्चित हैं कि सी # में अभी तक कोई नहीं है? टोकनइन्फो को स्पैमिंग करने के लिए Google द्वारा अनुशंसा नहीं की जाती है, आपको स्थानीय रूप से टोकन_आईडी को सत्यापित करना चाहिए। https://github.com/google/google-api-dotnet-client – DaImTo
क्षमा @ डलमटो, आप सही हैं! मैंने अपना उत्तर –
संपादित किया है GoogleApiTokenInfo कहां परिभाषित किया गया है? क्या यह एक कस्टम क्लास है जिसे आपने बनाया है, या Google एसडीके में परिभाषित किया है? –