Dans le package, il y a une classe appelée JwtSecurityTokenHandlerqui dérive de System.IdentityModel.Tokens.SecurityTokenHandler. Dans WIF, il s'agit de la classe principale pour la désérialisation et la sérialisation des jetons de sécurité.
La classe a une ReadToken(String)méthode qui prendra votre chaîne JWT encodée en base64 et retourne a SecurityTokenqui représente le JWT.
Le a SecurityTokenHandlerégalement une ValidateToken(SecurityToken)méthode qui prend votre SecurityTokenet crée un fichier ReadOnlyCollection<ClaimsIdentity>. Habituellement, pour JWT, celui-ci contiendra un seul ClaimsIdentityobjet qui a un ensemble de revendications représentant les propriétés du JWT d'origine.
JwtSecurityTokenHandlerdéfinit des surcharges supplémentaires car ValidateToken, en particulier, il a une ClaimsPrincipal ValidateToken(JwtSecurityToken, TokenValidationParameters)surcharge. L' TokenValidationParametersargument vous permet de spécifier le certificat de signature de jeton (sous forme de liste de X509SecurityTokens). Il a également une surcharge qui prend le JWT stringplutôt que comme un SecurityToken.
Le code pour ce faire est assez compliqué, mais peut être trouvé dans le code Global.asax.cx ( TokenValidationHandlerclasse) dans l'exemple de développeur appelé «ADAL - Service Native App to REST - Authentification avec ACS via Browser Dialog», situé à l'adresse
http://code.msdn.microsoft.com/AAL-Native-App-to-REST-de57f2cc
Sinon, la JwtSecurityTokenclasse a des méthodes supplémentaires qui ne sont pas sur la SecurityTokenclasse de base , comme une Claimspropriété qui obtient les revendications contenues sans passer par la ClaimsIdentitycollection. Il possède également une Payloadpropriété qui renvoie un JwtPayloadobjet qui vous permet d'accéder au JSON brut du jeton. Cela dépend de votre scénario de l'approche la plus appropriée.
La documentation générale (c'est-à-dire non spécifique à JWT) pour la SecurityTokenHandlerclasse est à
http://msdn.microsoft.com/en-us/library/system.identitymodel.tokens.securitytokenhandler.aspx
En fonction de votre application, vous pouvez configurer le gestionnaire JWT dans le pipeline WIF exactement comme n'importe quel autre gestionnaire.
Il y en a 3 exemples en cours d'utilisation dans différents types d'applications à
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
Probablement, l'un répondra à vos besoins ou du moins sera adaptable à eux.