2017-09-14 3 views
0

J'ai un approuter écrit dans node.js qui envoie un jeton jwt à l'application java après l'authentification de l'utilisateur.Existe-t-il un moyen de valider le jeton oauth envoyé par approuter dans l'application java simple (micro service dans cloud foundry) sans utiliser de ressort

Je dois vérifier ce jeton et cette portée dans une application printanière avant d'exécuter l'API REST, mais y a-t-il un moyen de faire la même chose sans utiliser de fonction Spring?

Répondre

0

Une option consiste à utiliser le point de terminaison /check_token de UAA. La bonne chose à propos de cette approche est qu'il est assez facile de le faire sans l'aide de bibliothèques externes puisqu'il s'agit simplement d'envoyer une requête HTTP. Il n'y a pas de crypto (autre que TLS) requis, UAA gère tout cela pour vous. Toutefois, il nécessite des informations d'identification client afin que vous puissiez identifier l'application vérifiant le jeton avec UAA et il a le temps d'envoyer une requête HTTP.

Ex:

curl 'http://uaa.example.com/check_token' -i -u 'app:appclientsecret' -X POST \ 
    -d 'token=53dbe3e05dcf4ff38d350bc74a7fc97bscopes=password.write%2Cscim.userids' 

app et appclientsecret sont les références clients de votre application & l'attribut scopes est facultative, mais si vous le faites inclure, SAU valideront également que les champs que vous indiquez sont présents sur le jeton .

Plus sur les liens suivants:

L'autre option serait de valider le jeton vous. Cela nécessite un jeton signé et cela nécessite que vous ayez un secret partagé entre votre serveur et dans le cas de Cloud Foundry, UAA.

Je n'ai pas d'instructions pour vous guider sans Spring, mais Spring Security est open source pour que vous puissiez voir leur code et voir comment cela se passe.

Il semble que la méthode decodeAndVerify de JwtHelper est un bon point de départ. Il y a aussi un exemple de comment JwtHelper est utilisé here.

Espérons que ça aide!