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'
Où 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!