Le point de terminaison des attributs utilisateur - Amazon Cognito

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). userInfo Il répond par des attributs utilisateur lorsque les fournisseurs de services présentent des jetons d'accès émis par votre point de terminaison de jetons. Les étendues du jeton d'accès de votre utilisateur définissent les attributs utilisateur que le userInfo point de terminaison renvoie dans sa réponse. La portée openid 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 de terminaison dans la spécification OpenID Connect (OIDC).

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 standard. Actuellement, Amazon Cognito renvoie les valeurs pour email_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.