O endpoint de atributos do usuário - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O endpoint de atributos do usuário

Quando OIDC emite tokens de ID que contêm atributos do usuário, o OAuth 2.0 implementa o /oauth2/userInfo endpoint. Um usuário ou cliente autenticado recebe um token de acesso com uma scopes reivindicação. Essa declaração determina os atributos que o servidor de autorização deve retornar. Quando um aplicativo apresenta um token de acesso ao userInfo endpoint, o servidor de autorização retorna um corpo de resposta que contém os atributos do usuário que estão dentro dos limites definidos pelos escopos do token de acesso. Seu aplicativo pode recuperar informações sobre um usuário do userInfo endpoint, desde que tenha um token de acesso válido com pelo menos uma declaração de openid escopo.

O userInfo endpoint é um endpoint OpenID OIDC Connect userInfo(). Ele responde com os atributos do usuário quando os provedores de serviços apresentam tokens de acesso que seu terminal de token emitiu. Os escopos no token de acesso do seu usuário definem os atributos do usuário que o userInfo endpoint retorna em sua resposta. O escopo openid deve ser uma das reivindicações do token de acesso.

O Amazon Cognito emite tokens de acesso em resposta a solicitações de grupos API de usuários, como InitiateAuth. Como eles não contêm nenhum escopo, o userInfo O endpoint não aceita esses tokens de acesso. Em vez disso, você deve apresentar os tokens de acesso do endpoint de token.

Seu provedor de identidade terceirizado (IdP) OAuth 2.0 também hospeda um userInfo ponto final. Quando seu usuário se autentica com esse IdP, o Amazon Cognito troca silenciosamente um código de autorização com o endpoint do IdP. token Seu grupo de usuários passa o token de acesso do IdP para autorizar a recuperação das informações do usuário do endpoint do IdP. userInfo

GET /oauth2/userInfo

A aplicação faz solicitações para esse endpoint diretamente e não por meio de um navegador.

Para ter mais informações, consulte UserInfo Endpoint na especificação OpenID OIDC Connect ().

Parâmetros de solicitação no cabeçalho

Authorization: Bearer <access_token>

Passe o token de acesso no campo do cabeçalho de autorização.

Obrigatório.

Exemplo — solicitação

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

Exemplo — resposta positiva

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" }

Para obter uma lista de OIDC reivindicações, consulte Reivindicações padrão. No momento, o Amazon Cognito retorna os valores para email_verified e phone_number_verified como strings.

Exemplo de respostas negativas

Exemplo — solicitação inválida

HTTP/1.1 400 Bad Request WWW-Authenticate: error="invalid_request", error_description="Bad OAuth2 request at UserInfo Endpoint"
invalid_request

A solicitação não tem um parâmetro obrigatório, inclui um valor de parâmetro não suportado ou está mal formada.

Exemplo — token inválido

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

O token de acesso expirou, foi revogado, está mal formado ou é inválido.