पैकेज के भीतर एक वर्ग है जिसे कहा जाता JwtSecurityTokenHandlerहै System.IdentityModel.Tokens.SecurityTokenHandler। WIF में यह डिस्क्रिविलाइज़िंग और सीरीज़िंग सिक्योरिटी टोकन के लिए मुख्य वर्ग है।
कक्षा में एक ReadToken(String)विधि है जो आपके बेस 64 को JWT स्ट्रिंग को इनकोडेड करेगी और रिटर्न देगी SecurityTokenजो JWT का प्रतिनिधित्व करती है।
यह SecurityTokenHandlerभी एक ValidateToken(SecurityToken)विधि है जो आपकी लेता है SecurityTokenऔर एक बनाता है ReadOnlyCollection<ClaimsIdentity>। आमतौर पर JWT के लिए, इसमें एक एकल ClaimsIdentityऑब्जेक्ट होगा जिसमें मूल JWT के गुणों का प्रतिनिधित्व करने वाले दावों का एक सेट होता है।
JwtSecurityTokenHandlerकुछ अतिरिक्त अधिभार को परिभाषित करता है ValidateToken, विशेष रूप से, इसमें एक ClaimsPrincipal ValidateToken(JwtSecurityToken, TokenValidationParameters)अधिभार है। TokenValidationParametersतर्क आप टोकन पर हस्ताक्षर प्रमाणपत्र (की एक सूची के रूप में निर्दिष्ट कर सकते हैं X509SecurityTokens)। इसमें एक अधिभार भी है जो JWT को एक के stringबजाय लेता है SecurityToken।
ऐसा करने के लिए कोड बल्कि जटिल है, लेकिन TokenValidationHandlerडेवलपर नमूना में Global.asax.cx कोड ( वर्ग) में पाया जा सकता है, जिसे "ADAL - Native App to REST सर्विस - ACS विथ ब्राउज़र डायलॉग के माध्यम से प्रमाणीकरण" स्थित है।
http://code.msdn.microsoft.com/AAL-Native-App-to-REST-de57f2cc
वैकल्पिक रूप से, JwtSecurityTokenवर्ग में अतिरिक्त विधियां हैं जो आधार SecurityTokenवर्ग पर नहीं हैं , जैसे कि एक Claimsसंपत्ति जो ClaimsIdentityसंग्रह के माध्यम से जाने के बिना निहित दावे प्राप्त करती है । इसमें एक Payloadसंपत्ति भी है जो एक JwtPayloadवस्तु देता है जो आपको टोकन के कच्चे JSON पर मिलता है। यह आपके परिदृश्य पर निर्भर करता है जो इसे सबसे उपयुक्त लगता है।
SecurityTokenHandlerवर्ग के लिए सामान्य (यानी गैर JWT विशिष्ट) प्रलेखन है
http://msdn.microsoft.com/en-us/library/system.identitymodel.tokens.securitytokenhandler.aspx
आपके आवेदन के आधार पर, आप JWT हैंडलर को किसी भी अन्य हैंडलर की तरह ही WIF पाइपलाइन में कॉन्फ़िगर कर सकते हैं।
इसके विभिन्न प्रकार के अनुप्रयोग में उपयोग के 3 नमूने हैं
http://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=SearchText&f%5B0%5D.Value=aal&f%5B1%5D.Type=User&f%5B1%5D.Value=Azure% 20AD% 20Developer% 20Experience% 20Team और च% 5B1% 5D.Text = Azure% 20AD% 20Developer% 20Experience% 20Team
शायद, कोई आपकी आवश्यकताओं के अनुरूप होगा या कम से कम उनके अनुकूल होगा।