Der Endpunkt der Benutzerattribute - 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.

Der Endpunkt der Benutzerattribute

Wo OIDC ID-Token ausgibt, die Benutzerattribute enthalten, implementiert OAuth 2.0 den /oauth2/userInfo Endpunkt. Ein authentifizierter Benutzer oder Client erhält ein Zugriffstoken mit einem Anspruch. scopes Dieser Anspruch bestimmt die Attribute, die der Autorisierungsserver zurückgeben soll. Wenn eine Anwendung dem userInfo Endpunkt ein Zugriffstoken vorlegt, gibt der Autorisierungsserver einen Antworttext zurück, der die Benutzerattribute enthält, die innerhalb der durch die Gültigkeitsbereiche der Zugriffstoken festgelegten Grenzen liegen. Ihre Anwendung kann Informationen über einen Benutzer vom userInfo Endpunkt abrufen, sofern sie über ein gültiges Zugriffstoken mit mindestens einem openid Geltungsbereichsanspruch verfügt.

Der Endpunkt userInfo ist ein OIDC-UserInfo-Endpunkt (OpenID-Connect). Sie reagiert mit Benutzerattributen, wenn Dienstanbieter Zugriffstoken vorlegen, die Ihr Token-Endpunkt ausgegeben hat. 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 Zugriffstoken als Antwort auf API-Anfragen von Benutzerpools aus, wie InitiateAuth. Weil sie keine Zielfernrohre enthalten, userInfo Der Endpunkt akzeptiert diese Zugriffstoken nicht. Stattdessen müssen Sie Zugriffstoken von Ihrem Token-Endpunkt vorlegen.

Ihr OAuth 2.0-Dritt-Identity-Provider (IdP) hostet auch eine 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 OpenID Connect (OIDC) -Spezifikation.

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 — falsches 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.