2017-03-15 3 views
0

J'ai un JWT récupéré en utilisant un point de terminaison usernamemixed dans ADFS 3.0 et maintenant j'ai besoin de valider ce jeton à partir d'une application node.js. Comment puis-je y parvenir? Je sais comment valider ce jeton à partir d'un WebAPI. J'ai besoin de faire à peu près la même chose dans l'application Node.js. Puis-je me fier uniquement à la validation de la signature du jeton (Token Signing Certificate) dans node.js? Peut-elle être usurpée?Vérifier le jeton ADFS

Répondre

0

La validation de jeton inclut les contrôles de signature, mais ce n'est pas tout; vous devez vérifier la validation, l'audience, l'émetteur, etc etc (voir http://www.cloudidentity.com/blog/2014/03/03/principles-of-token-validation/). Ceci est normalement réalisé en utilisant une bibliothèque de validation qui lit les métadonnées de l'émetteur et l'utilise pour valider les jetons entrants. Si vous utilisiez ADFS "4.0", vous pouvez simplement prendre l'exemple de nœud de l'API Web Azure AD dans https://github.com/Azure-Samples/active-directory-node-webapi et pointer vers ADFS à la place. ADFS "3.0" n'expose pas les métadonnées à l'aide de la spécification de découverte openid connect, utilisée par cet exemple, par conséquent le code ne fonctionnera pas tel quel. Cependant, il fournit les mêmes informations dans son document de métadonnées ws-federation. Si vous implémentez le même scénario à l'aide du middleware ASP.NET et capturez la trace réseau, vous verrez comment vous pouvez implémenter le même contrôle vous-même. Si vous pouvez mettre à niveau votre instance ADFS à "4.0", ce serait grandement préférable - moins de code personnalisé nécessaire.