UserInfo-Endpunkt - Amazon Cognito

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

UserInfo-Endpunkt

Der Endpunkt userInfo ist ein OIDC-UserInfo-Endpunkt (OpenID-Connect). Er antwortet mit Benutzerattributen, wenn Serviceanbieter von Ihrem Token-Endpunkt ausgegebene Zugriffstoken vorlegen. Die Bereiche im Zugriffstoken Ihres Benutzers definieren die Benutzerattribute, die der UserInfo-Endpunkt in seiner Antwort zurückgibt. Der openid-Gültigkeitsbereich muss einer der Zugriffstokenansprüche sein.

Amazon Cognito gibt Zugriffs-Token als Antwort auf Benutzerpool-API-Anfragen wie InitiateAuth aus. Da sie keine Bereiche enthalten, akzeptiert der userInfo-Endpunkt diese Zugriffstoken nicht. Stattdessen müssen Sie Zugriffstoken von Ihrem Token-Endpunkt vorlegen.

Ihr externer OAuth-2.0-Identitätsanbieter (IDP) hostet ebenfalls einen userInfo-Endpunkt. Wenn sich Ihr Benutzer bei diesem IdP authentifiziert, tauscht Amazon Cognito im Hintergrund einen Autorisierungscode mit dem IdP-Endpunkt aus. token Ihr Benutzerpool übergibt das IdP-Zugriffstoken, um den Abruf von Benutzerinformationen vom IdP-Endpunkt zu autorisieren. userInfo

GET /oauth2/userInfo

Ihre Anwendung sendet Anfragen direkt an diesen Endpunkt und nicht über einen Browser.

Weitere Informationen finden Sie unter UserInfo-Endpunkt in der Spezifikation zu OpenID Connect (OIDC).

Anfrageparameter im Header

Authorization: Bearer <access_token>

Übergeben Sie das Zugriffstoken im Autorisierungsheader-Feld.

Erforderlich

Beispiel — Anfrage

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

Beispiel — positive Antwort

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

Eine Liste der OIDC-Ansprüche finden Sie unter Standardansprüche. Derzeit gibt Amazon Cognito die Werte für email_verified und phone_number_verified als Zeichenfolgen zurück.

Beispiel für negative Antworten

Beispiel — schlechte Anfrage

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

In der Anfrage fehlt ein erforderlicher Parameter, sie enthält einen nicht unterstützten Parameterwert oder sie ist anderweitig falsch formatiert.

Beispiel — schlechtes Token

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

Das Zugriffstoken ist abgelaufen, gesperrt, falsch formatiert oder ungültig.