Innerhalb des Pakets gibt es eine Klasse namens, JwtSecurityTokenHandlerdie von abgeleitet ist System.IdentityModel.Tokens.SecurityTokenHandler. In WIF ist dies die Kernklasse für das Deserialisieren und Serialisieren von Sicherheitstoken.
Die Klasse verfügt über eine ReadToken(String)Methode, die Ihre Base64-codierte JWT-Zeichenfolge verwendet und eine zurückgibt, SecurityTokendie die JWT darstellt.
Das SecurityTokenHandlerhat auch eine ValidateToken(SecurityToken)Methode, die Ihre nimmt SecurityTokenund eine erstellt ReadOnlyCollection<ClaimsIdentity>. Normalerweise enthält dies für JWT ein einzelnes ClaimsIdentityObjekt mit einer Reihe von Ansprüchen, die die Eigenschaften des ursprünglichen JWT darstellen.
JwtSecurityTokenHandlerdefiniert einige zusätzliche Überlastungen ValidateToken, insbesondere für eine ClaimsPrincipal ValidateToken(JwtSecurityToken, TokenValidationParameters)Überlastung. Mit diesem TokenValidationParametersArgument können Sie das Token-Signatur-Zertifikat (als Liste von X509SecurityTokens) angeben . Es hat auch eine Überlastung, die die JWT stringeher als eine als eine nimmt SecurityToken.
Der Code dafür ist ziemlich kompliziert, befindet sich jedoch im Global.asax.cx-Code ( TokenValidationHandlerKlasse) im Entwicklerbeispiel "ADAL - Native App für REST-Dienst - Authentifizierung mit ACS über den Browser-Dialog" unter
http://code.msdn.microsoft.com/AAL-Native-App-to-REST-de57f2cc
Alternativ verfügt die JwtSecurityTokenKlasse über zusätzliche Methoden, die sich nicht in der Basisklasse befinden SecurityToken, z. B. eine ClaimsEigenschaft, die die enthaltenen Ansprüche abruft, ohne die ClaimsIdentityAuflistung zu durchlaufen. Es hat auch eine PayloadEigenschaft, die ein JwtPayloadObjekt zurückgibt , mit dem Sie den unformatierten JSON des Tokens abrufen können. Es hängt von Ihrem Szenario ab, welcher Ansatz am besten geeignet ist.
Die allgemeine (dh nicht JWT-spezifische) Dokumentation für die SecurityTokenHandlerKlasse finden Sie unter
http://msdn.microsoft.com/en-us/library/system.identitymodel.tokens.securitytokenhandler.aspx
Abhängig von Ihrer Anwendung können Sie den JWT-Handler genau wie jeden anderen Handler in der WIF-Pipeline konfigurieren.
Es gibt 3 Beispiele davon, die in verschiedenen Anwendungsarten bei verwendet werden
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 & f% 5B1% 5D.Text = Azure% 20AD% 20Developer% 20Experience% 20Team
Wahrscheinlich wird einer Ihren Bedürfnissen entsprechen oder zumindest an diese angepasst werden können.