

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
<a name="userinfo-endpoint"></a>

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](https://openid.net/specs/openid-connect-core-1_0.html#UserInfo) (OpenID-Connect). Sie reagiert mit Benutzerattributen, wenn Dienstanbieter Zugriffstoken vorlegen, die Ihr [Token-Endpunkt](token-endpoint.md) 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 Zugriffs-Token als Antwort auf Benutzerpool-API-Anfragen wie [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html) aus. Da sie keine Bereiche enthalten, akzeptiert der userInfo-Endpunkt diese Zugriffstoken nicht. Stattdessen müssen Sie Zugriffstoken von Ihrem Token-Endpunkt vorlegen.

Ihr OAuth 2.0-Dritt-Identity-Provider (IdP) hostet auch 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`

Die Bereiche im Zugriffstoken eines Benutzers werden durch den `scopes` Anforderungsparameter in Authentifizierungsanforderungen oder durch die Bereiche bestimmt, die der [Lambda-Trigger vor der Token-Generierung hinzufügt](user-pool-lambda-pre-token-generation.md). Sie können Zugriffstoken dekodieren und `scope` Ansprüche untersuchen, um herauszufinden, welche Bereiche der Zugriffskontrolle sie enthalten. Im Folgenden sind einige Bereichskombinationen aufgeführt, die sich auf die vom Endpunkt zurückgegebenen Daten auswirken. `userInfo` Der reservierte Amazon Cognito Cognito-Bereich `aws.cognito.signin.user.admin` hat keine Auswirkung auf die von diesem Endpunkt zurückgegebenen Daten.Beispielbereiche im Zugriffstoken und ihre Auswirkung auf die Antwort `userInfo`

**`openid`**  
Gibt eine Antwort mit allen Benutzerattributen zurück, die der App-Client lesen kann.

**`openid profile`**  
Gibt die Benutzerattribute`name`,`family_name`,`given_name`,`middle_name`,`nickname`,`preferred_username`,`profile`,`picture`,`website`,`gender`,`birthdate`, `zoneinfo``locale`, und zurück`updated_at`. Gibt auch [benutzerdefinierte Attribute](user-pool-settings-attributes.md#user-pool-settings-custom-attributes) zurück. In App-Clients, die keinen Lesezugriff auf jedes Attribut haben, entspricht die Antwort auf diesen Bereich allen Attributen innerhalb der Spezifikation, auf die Ihr App-Client Lesezugriff hat.

**`openid email`**  
Gibt grundlegende Profilinformationen und die `email_verified` Attribute `email` und zurück.

**`openid phone`**  
Gibt grundlegende Profilinformationen und die `phone_number_verified` Attribute `phone_number` und zurück.

## GET /oauth2/userInfo
<a name="get-userinfo"></a>

Ihre Anwendung generiert Anfragen an diesen Endpunkt direkt, nicht über einen Browser.

Weitere Informationen finden Sie unter [UserInfo-Endpunkt](http://openid.net/specs/openid-connect-core-1_0.html#UserInfo) in der Spezifikation zu OpenID Connect (OIDC).

**Topics**
+ [GET /oauth2/userInfo](#get-userinfo)
+ [Anfrageparameter im Header](#get-userinfo-request-header-parameters)
+ [Beispiel — Anfrage](#get-userinfo-positive-exchanging-authorization-code-for-userinfo-sample-request)
+ [Beispiel — positive Antwort](#get-userinfo-response-sample)
+ [Beispiel für negative Antworten](#get-userinfo-negative)

## Anfrageparameter im Header
<a name="get-userinfo-request-header-parameters"></a>

**`Authorization: Bearer <access_token>`**  
Übergeben Sie das Zugriffstoken im Autorisierungsheader-Feld.  
Erforderlich

## Beispiel — Anfrage
<a name="get-userinfo-positive-exchanging-authorization-code-for-userinfo-sample-request"></a>

```
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
<a name="get-userinfo-response-sample"></a>

```
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](http://openid.net/specs/openid-connect-core-1_0.html#StandardClaims). Derzeit gibt Amazon Cognito die Werte für `email_verified` und `phone_number_verified` als Zeichenfolgen zurück.

## Beispiel für negative Antworten
<a name="get-userinfo-negative"></a>

### Beispiel — schlechte Anfrage
<a name="get-userinfo-negative-400"></a>

```
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
<a name="get-userinfo-negative-401"></a>

```
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.