Référentiel Liberty[8.5.5.4 ou ultérieure]

Appel du noeud final UserInfo pour OpenID Connect

Le noeud final UserInfo renvoie des demandes concernent un utilisateur qui est authentifié avec une authentification OpenID Connect.

Pourquoi et quand exécuter cette tâche

Pour obtenir les demandes concernant un utilisateur, un client effectue une demande auprès du noeud final UserInfo à l'aide d'un jeton d'accès comme donnée d'identification. Le jeton d'accès doit avoir été obtenu via l'authentification OpenID Connect. Les demandes relatives à l'utilisateur qui est représenté par le jeton d'accès sont renvoyées en tant qu'objet JSON contenant une collection de paires nom-valeur pour les demandes. Le noeud final UserInfo est une ressource OAuth 2.0 protégée, ce qui signifie que la donnée d'identification requise pour accéder au noeud final est le jeton d'accès.

Les demandes qui sont renvoyées par le noeud final UserInfo peuvent être personnalisées avec la configuration de fournisseur OpenID Connect, voir Configuration des demandes rencvoyées par le noeud final UserInfo.

Un serveur de profil Liberty avec OpenID Connect activé peut accéder au noeud final UserInfo OpenID Connect à l'URL suivante :
https://server.example.com:443/oidc/endpoint/<provider_name>/userinfo
Remarque : Dans cet exemple le port SSL du fournisseur OpenID Connect doit être 443.

Procédure

  1. Définissez m'authentification avec un jeton d'accès obtenu via l'authentification OpenID Connect. Le jeton d'accès peut être fourni dans l'en-tête HTTP Basic Authorization ou avec le paramètre de demande access_token. Dans tous les cas, le jeton d'accès n'a pas besoin d'être codé.
  2. Envoyez la demande GET ou POST à l'URL du noeud final UserInfo.

Résultats

Une fois ces étapes effectuées, vous disposez d'une demande HTTP valide qui peut être envoyée au noeud final UserInfo comme illustré dans la section Exemples.

Pour les demandes valides, le noeud final UserInfo renvoie une réponse HTTP 200 avec un objet JSON au format application/json qui inclut les demandes configurées pour le fournisseur OpenID Connect.

Exemple

Les exemples ci-après illustrent des demandes avec un jeton valide et des jetons non valides.

  • Demande qui utilise l'en-tête HTTP Bearer Authorization pour transmettre le jeton d'accès
  • Réponse pour un jeton d'accès valide
  • Jetons d'accès non valides
Exemple de demande qui utilise l'en-tête HTTP Bearer Authorization pour transmettre le jeton d'accès :
POST /register HTTP/1.1
Accept: application/x-www-form-urlencoded
Authorization: Bearer fAAdLO1c6QWDbPs9HrWHz5e7nRWVAnxqTTP7i88G
Le jeton peut aussi être transmis avec le paramètre de demande access_token :
 POST /register HTTP/1.1
 Accept: application/x-www-form-urlencoded
     access_token=fAAdLO1c6QWDbPs9HrWHz5e7nRWVAnxqTTP7i88G

Il est recommandé d'utiliser l'en-tête HTTP Authorization au lieu du paramètre de demande access_token car les paramètres de demande HTTP, qui peuvent inclure des informations sensibles, peuvent être sauvegardées dans l'historique ou le cache du navigateur.

Voici un exemple de réponse pour un jeton d'accès valide. Les demandes sub et groupIds sont toujours renvoyées. Les autres demandes qui figurent ici sont les demandes par défaut pour un fournisseur OpenID Connect.
 HTTP/1.1 200 OK
 Content-Type: application/json
 Cache-Control: no-store
 Pragma: no-cache
{
   "sub"          : "bob",
   "groupIds"     : [ "bobsdepartment","administrators" ], 
   "given_name"   : "Bob",
   "name"         : "Bob Smith",
   "email"        : "bob@mycompany.com",
   "phone_number" : "+1 (604) 555-1234;ext5678",
   "address"      : { "formatted" : "123 Main St., Anytown, TX 77777" },
   "picture"      : "http://mycompany.com/bob_photo.jpg"
}
Pour un jeton d'accès non valide, le noeud final UserInfo renvoie un code d'état HTTP 401 avec un message d'erreur dans l'en-tête WWW-AUTHENTICATE.
HTTP/1.1 401 Unauthorized
CONTENT-LENGTH : 0
WWW-AUTHENTICATE : Bearer error=invalid_token,       
   error_description=CWWKS1617E: A userinfo request was made with
       an access token that was not recognized. The request URI was
          /oidc/endpoint/MyOAuthProvider/userinfo.

Icône indiquant le type de rubrique Rubrique Tâche

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_oidc_userinfo_endpoint
Nom du fichier : twlp_oidc_userinfo_endpoint.html