Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Le point de terminaison des attributs utilisateur
Lorsque OIDC des jetons d'identification contenant des attributs utilisateur sont émis, la OAuth version 2.0 implémente le /oauth2/userInfo
point de terminaison. Un utilisateur ou un client authentifié reçoit un jeton d'accès accompagné d'une scopes
réclamation. Cette réclamation détermine les attributs que le serveur d'autorisation doit renvoyer. Lorsqu'une application présente un jeton d'accès au userInfo
point de terminaison, le serveur d'autorisation renvoie un corps de réponse contenant les attributs utilisateur qui se situent dans les limites définies par les portées du jeton d'accès. Votre application peut récupérer des informations sur un utilisateur depuis le userInfo
point de terminaison à condition qu'elle détienne un jeton d'accès valide avec au moins une revendication de openid
portée.
Le userInfo
point de terminaison est un point de terminaison OpenID Connect (OIDC). userInfoopenid
doit correspondre à l’une des demandes de jeton d’accès.
Amazon Cognito émet des jetons d'accès en réponse à des demandes de groupes d'utilisateurs telles que API InitiateAuth. Comme ils ne contiennent aucun champ d'application, le userInfo le point de terminaison n'accepte pas ces jetons d'accès. À la place, vous devez présenter les jetons d’accès de votre point de terminaison de jeton.
Votre fournisseur d'identité tiers (IdP) OAuth 2.0 héberge également un userInfo point final. Lorsque votre utilisateur s'authentifie auprès de cet IdP, Amazon Cognito échange silencieusement un code d'autorisation avec le point de terminaison de l'IdP. token
Votre groupe d'utilisateurs transmet le jeton d'accès IdP pour autoriser la récupération des informations utilisateur depuis le point de terminaison IdP. userInfo
GET /oauth2/userInfo
Votre application envoie des demandes à ce point de terminaison directement, sans passer par un navigateur.
Pour plus d’informations, consultez .UserInfo Point
Rubriques
Paramètres de demande dans l’en-tête
Authorization: Bearer
<access_token>
-
Passez le jeton d'accès dans le champ d'en-tête d'autorisation.
Obligatoire.
Exemple — demande
GET /oauth2/userInfo HTTP/1.1 Content-Type: application/x-amz-json-1.1 Authorization: Bearer eyJra12345EXAMPLE User-Agent:
[User agent]
Accept: */* Host: auth.example.com Accept-Encoding: gzip, deflate, br Connection: keep-alive
Exemple — réponse positive
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length:
[Integer]
Date:[Timestamp]
x-amz-cognito-request-id:[UUID]
X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 Strict-Transport-Security: max-age=31536000 ; includeSubDomains X-Frame-Options: DENY Server: Server Connection: keep-alive { "sub": "[UUID]
", "email_verified": "true", "custom:mycustom1": "CustomValue", "phone_number_verified": "true", "phone_number": "+12065551212", "email": "bob@example.com", "username": "bob" }
Pour une liste des OIDC réclamations, voir Réclamations standardemail_verified
et phone_number_verified
sous forme de chaînes.
Exemple de réponses négatives
Exemple — mauvaise demande
HTTP/1.1 400 Bad Request
WWW-Authenticate: error="invalid_request",
error_description="Bad OAuth2 request at UserInfo Endpoint"
invalid_request
-
Il manque un paramètre obligatoire à la demande, elle inclut une valeur de paramètre non prise en charge ou elle est mal formée.
Exemple : mauvais jeton
HTTP/1.1 401 Unauthorized
WWW-Authenticate: error="invalid_token",
error_description="Access token is expired, disabled, or deleted, or the user has globally signed out."
invalid_token
-
Le jeton d'accès est expiré, révoqué, mal formé ou il n'est pas valide.