Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
L'endpoint degli attributi dell'utente
Laddove OIDC emette token ID che contengono attributi utente, OAuth 2.0 implementa l'endpoint. /oauth2/userInfo Un utente o cliente autenticato riceve un token di accesso con un claim. scopes Questa attestazione determina gli attributi che il server di autorizzazione deve restituire. Quando un'applicazione presenta un token di accesso all'userInfoendpoint, il server di autorizzazione restituisce un corpo di risposta che contiene gli attributi utente che rientrano nei limiti stabiliti dagli ambiti dei token di accesso. L'applicazione può recuperare informazioni su un utente dall'userInfoendpoint purché disponga di un token di accesso valido con almeno una dichiarazione di ambito. openid
L'endpoint userInfo è un endpoint userInfoopenid deve essere una delle richieste del token di accesso.
Amazon Cognito emette token di accesso in risposta a richieste API dei pool di utenti come InitiateAuth. Poiché non contengono alcun ambito, l'endpoint userInfo non accetta questi token di accesso. È invece necessario presentare i token di accesso dall'endpoint del token.
Il gestore dell'identità digitale (IdP) di terze parti OAuth 2.0 ospita anche un endpoint userInfo. Quando l'utente si autentica con quell'IdP, Amazon Cognito scambia silenziosamente un codice di autorizzazione con l'endpoint IdP. token Il tuo pool di utenti passa il token di accesso IdP per autorizzare il recupero delle informazioni utente dall'endpoint IdP. userInfo
Gli ambiti del token di accesso di un utente sono determinati dal parametro scopes request nelle richieste di autenticazione o dagli ambiti aggiunti dal trigger Lambda precedente alla generazione del token. Trigger Lambda di pre-generazione del token Puoi decodificare i token di accesso ed esaminare i scope claim per vedere gli ambiti di controllo degli accessi che contengono. Di seguito sono riportate alcune combinazioni di ambiti che influenzano i dati restituiti dall'endpoint. userInfo L'ambito riservato di Amazon Cognito non aws.cognito.signin.user.admin ha effetto sui dati restituiti da questo endpoint.
Ambiti di esempio nel token di accesso e loro effetto sulla risposta UserInfo
openid-
Restituisce una risposta con tutti gli attributi utente che il client dell'app è in grado di leggere.
openid profile-
Restituisce gli attributi utente
namefamily_namegiven_namemiddle_name,nickname,preferred_username,,profile,picture,website,gender,birthdate,zoneinfo,locale, eupdated_at. Restituisce anche attributi personalizzati. Nei client di app che non hanno accesso in lettura a ciascun attributo, la risposta a questo ambito sono tutti gli attributi all'interno delle specifiche a cui il client dell'app ha accesso in lettura. openid email-
Restituisce le informazioni di base del profilo
emaile gliemail_verifiedattributi and. openid phone-
Restituisce le informazioni di base sul profilo
phone_numbere gliphone_number_verifiedattributi and.
OTTIENI/oauth2/userInfo
L'applicazione genera richieste a questo endpoint direttamente, non tramite un browser.
Per ulteriori informazioni, consulta Endpoint UserInfo
Argomenti
Parametri della richiesta nell'intestazione
Authorization: Bearer<access_token>-
Passa il token di accesso nel campo dell'intestazione dell'autorizzazione.
Obbligatorio.
Esempio: richiesta
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
Esempio: risposta 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" }
Per un elenco di richieste OIDC, vedi la sezione relativa alle richieste standardemail_verified e phone_number_verified come stringhe.
Esempio di risposte negative
Esempio: richiesta errata
HTTP/1.1 400 Bad Request
WWW-Authenticate: error="invalid_request",
error_description="Bad OAuth2 request at UserInfo Endpoint"
invalid_request-
Nella richiesta manca un parametro obbligatorio, include un valore di parametro non supportato o è altrimenti non valida.
Esempio: token errato
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-
Il token di accesso è scaduto, revocato, non valido o non valido.