

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.

# Verwendung von OIDC-Identitätsanbietern mit einem Benutzerpool
<a name="cognito-user-pools-oidc-idp"></a>

Benutzer können sich mit ihren vorhandenen Konten von OpenID Connect (OIDC) -Identitätsanbietern () bei Ihrer Anwendung anmelden. IdPs Mit OIDC-Anbietern können Benutzer unabhängiger Single Sign-On-Systeme bestehende Anmeldeinformationen angeben, während Ihre Anwendung OIDC-Token im gemeinsamen Format von Benutzerpools erhält. Um einen OIDC-IdP zu konfigurieren, richten Sie Ihren IdP so ein, dass er Ihren Benutzerpool als RP verwaltet, und konfigurieren Sie Ihre Anwendung so, dass Ihr Benutzerpool als IdP verwaltet wird. Amazon Cognito dient als Zwischenschritt zwischen mehreren OIDC IdPs und Ihren Anwendungen. Ihr Benutzerpool wendet Regeln zur Attributzuweisung auf die Ansprüche in den ID- und Zugriffstoken an, die Ihr Anbieter direkt an Ihren Benutzerpool weitergibt. Amazon Cognito gibt dann neue Token aus, die auf den zugewiesenen Benutzerattributen und allen zusätzlichen Anpassungen basieren, die Sie am Authentifizierungsablauf mit [Lambda-Triggern](cognito-user-pools-working-with-lambda-triggers.md#lambda-triggers-for-federated-users) vorgenommen haben.

Benutzer, die sich mit einem OIDC-IdP anmelden, müssen keine neuen Anmeldeinformationen oder Informationen angeben, um auf Ihre Benutzerpool-Anwendung zuzugreifen. Ihre Anwendung kann sie zur Anmeldung im Hintergrund an ihren IdP weiterleiten, wobei ein Benutzerpool als Tool im Hintergrund das Tokenformat für Ihre Anwendung standardisiert. Weitere Informationen zur IdP-Umleitung finden Sie unter. [Autorisieren des Endpunkts](authorization-endpoint.md)

Wie bei anderen Identitätsanbietern von Drittanbietern müssen Sie Ihre Anwendung beim OIDC-Anbieter registrieren und Informationen über die IdP-Anwendung abrufen, die Sie mit Ihrem Benutzerpool verbinden möchten. Ein Benutzerpool-OIDC-IdP benötigt eine Client-ID, einen geheimen Client-Schlüssel, Bereiche, die Sie anfordern möchten, und Informationen zu Providerdienst-Endpunkten. Ihr Benutzerpool kann die Provider-OIDC-Endpunkte von einem Discovery-Endpunkt aus ermitteln oder Sie können sie manuell eingeben. Sie müssen auch Provider-ID-Token untersuchen und Attributzuordnungen zwischen dem IdP und den Attributen in Ihrem Benutzerpool erstellen.

![Ablauf der OIDC-Benutzerpool-IdP-Authentifizierung](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/flow-cup-oidc-endpoints.png)


Weitere Informationen [Authentifizierungsablauf für den OIDC-Benutzerpool-IdP](cognito-user-pools-oidc-flow.md) zu diesem Authentifizierungsablauf finden Sie unter.

**Anmerkung**  
Die Anmeldung über einen Drittanbieter (Verbund) in Amazon-Cognito-Benutzerpools wird unterstützt. Diese Funktion ist unabhängig vom OIDC-Verbund mit Amazon Cognito Cognito-Identitätspools.

Sie können Ihrem Benutzerpool in der, über die oder mit der AWS-Managementkonsole Benutzerpool-API-Methode einen OIDC-IdP hinzufügen. AWS CLI[CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)

**Topics**
+ [Voraussetzungen](#cognito-user-pools-oidc-idp-prerequisites)
+ [Registrieren Sie eine Anwendung bei einem OIDC-IdP](#cognito-user-pools-oidc-idp-step-1)
+ [Hinzufügen eines OIDC-IdP zu Ihrem Benutzerpool](#cognito-user-pools-oidc-idp-step-2)
+ [Testen Ihrer OIDC-IdP-Konfiguration](#cognito-user-pools-oidc-idp-step-3)
+ [Authentifizierungsablauf für den OIDC-Benutzerpool-IdP](cognito-user-pools-oidc-flow.md)

## Voraussetzungen
<a name="cognito-user-pools-oidc-idp-prerequisites"></a>

Bevor Sie beginnen, muss Folgendes sichergestellt sein:
+ Ein Benutzerpool mit einem App-Client und eine Benutzerpool-Domäne. Weitere Informationen finden Sie unter [Einen Benutzerpool erstellen](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).
+ Ein OIDC IdP mit folgender Konfiguration: 
  + Unterstützt die `client_secret_post` Clientauthentifizierung. Amazon Cognito überprüft nicht den `token_endpoint_auth_methods_supported`-Antrag am OIDC-Erkennungsendpunkt für Ihren IdP. Amazon Cognito unterstützt nicht die `client_secret_basic` Clientauthentifizierung. Weitere Informationen zur Clientauthentifizierung finden Sie unter [Clientauthentifizierung](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication) in der Dokumentation zu OpenID Connect.
  + Verwendet HTTPS nur für OIDC-Endpunkte wie `openid_configuration`, `userInfo` und `jwks_uri`.
  + Verwendet nur die TCP-Ports 80 und 443 für OIDC-Endpunkte.
  + Signiert ID-Token nur mit HMAC-SHA-, ECDSA- oder RSA-Algorithmen.
  + Veröffentlicht einen Schlüssel-ID`kid`-Anspruch am `jwks_uri` und enthält einen `kid`-Anspruch in seinen Token.
  + Präsentiert einen nicht abgelaufenen öffentlichen Schlüssel mit einer gültigen Root-CA-Vertrauenskette.

## Registrieren Sie eine Anwendung bei einem OIDC-IdP
<a name="cognito-user-pools-oidc-idp-step-1"></a>

Bevor Sie Ihrer Benutzerpool-Konfiguration einen OIDC-IdP hinzufügen und ihn App-Clients zuweisen, richten Sie in Ihrem IdP eine OIDC-Client-Anwendung ein. Ihr Benutzerpool ist die Rely-Party-Anwendung, die die Authentifizierung mit Ihrem IdP verwaltet.

**Registrieren mit einem OIDC-IdP**

1. Erstellen Sie ein Entwickler-Konto bei dem OIDC-IdP.  
**Links zu OIDC IdPs**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/cognito-user-pools-oidc-idp.html)

1. Registrieren Sie Ihre Benutzerpool-Domänen-URL mit dem Endpunkt `/oauth2/idpresponse` bei Ihrem OIDC-Identitätsanbieter. Auf diese Weise wird sichergestellt, dass der OIDC-Identitätsanbieter sie von Amazon Cognito später akzeptiert, wenn es Benutzer authentifiziert.

   ```
   https://{{mydomain.auth.us-east-1.amazoncognito.com}}/oauth2/idpresponse
   ```

1. Wählen Sie die [Bereiche](cognito-user-pools-define-resource-servers.md#cognito-user-pools-define-resource-servers-about-scopes) aus, die Ihr Benutzerverzeichnis mit Ihrem Benutzerpool gemeinsam nutzen soll. Der Bereich **openid** ist erforderlich, damit OIDC Benutzerinformationen IdPs anbieten kann. [Der `email` Umfang ist erforderlich, um Zugriff auf die Ansprüche und Angaben zu gewähren. `email``email_verified`](https://openid.net/specs/openid-connect-basic-1_0.html#StandardClaims) Zusätzliche Bereiche in der OIDC-Spezifikation gelten `profile` für alle Benutzerattribute und für und`phone`. `phone_number` `phone_number_verified`

1. Der OIDC-Identitätsanbieter stellt Ihnen eine Client-ID und einen geheimen Client-Schlüssel bereit. Notieren Sie sich diese Werte und fügen Sie sie der Konfiguration des OIDC-IdP hinzu, den Sie später zu Ihrem Benutzerpool hinzufügen.

**Beispiel: Verwendung von Salesforce als OIDC-Identitätsanbieter für Ihren Benutzerpool**

 Sie verwenden einen OIDC-IdP, wenn Sie eine Vertrauenstellung zwischen einem OIDC-kompatiblen IdP wie Salesforce und Ihrem Benutzerpool herstellen möchten.

1. [Erstellen Sie ein Konto](https://developer.salesforce.com/signup) auf der Salesforce-Entwickler-Website.

1. [Melden Sie sich über Ihr Entwickler-Konto an, das Sie im vorherigen Schritt eingerichtet haben.](https://developer.salesforce.com)

1. Führen Sie auf Ihrer Salesforce-Seite einen der folgenden Schritte aus:
   +  Wenn Sie Lightning Experience verwenden, wählen Sie das Zahnradsymbol für die Einrichtung und dann **Setup Home** (Einrichtung Startseite) aus.
   +  Wenn Sie Salesforce Classic verwenden und **Setup (Einstellung)** in der Kopfzeile der Benutzeroberfläche sehen, wählen Sie es aus.
   +  Wenn Sie Salesforce Classic verwenden und **Setup (Einstellung)** nicht angezeigt wird, wählen Sie Ihren Namen in der oberen Navigationsleiste und wählen dann **Setup (Einstellung)** aus der Dropdown-Liste aus.

1. Wählen Sie in der linken Navigationsleiste **Company Settings (Unternehmenseinstellungen)**. 

1. Wählen Sie in der Navigationsleiste **Domain** (Domäne), geben Sie eine Domäne ein und wählen Sie **Create** (Erstellen). 

1. Wählen Sie in der linken Navigationsleiste **Platform Tools** (Plattform-Tools) und wählen Sie **Apps** (Anwendungen). 

1. Wählen Sie **App Manager**.

1. 

   1. Wählen Sie **new connected app** (neue verbundene App) aus.

   1. Füllen Sie die Pflichtfelder aus.

      Geben Sie unter **Start URL** (Start-URL) eine URL am `/authorize`-Endpunkt für die Benutzerpool-Domäne ein, die sich bei Ihrem Salesforce-IDP anmeldet. Wenn Ihre Benutzer auf Ihre verbundene App zugreifen, leitet Salesforce sie an diese URL weiter, um die Anmeldung abzuschließen. Dann leitet Salesforce die Benutzer an die Rückruf-URL um, die Sie Ihrem App-Client zugeordnet haben.

      ```
      https://{{mydomain.auth.us-east-1.amazoncognito.com}}/authorize?response_type=code&client_id={{<your_client_id>}}&redirect_uri={{https://www.example.com}}&identity_provider={{CorpSalesforce}}
      ```

   1. **Aktivieren Sie die **OAuth Einstellungen** und geben Sie die URL des `/oauth2/idpresponse` Endpunkts für Ihre Benutzerpool-Domain in das Feld Callback-URL ein.** Dies ist die URL, unter der Salesforce den Autorisierungscode ausgibt, den Amazon Cognito gegen ein OAuth Token eintauscht.

      ```
      https://{{mydomain.auth.us-east-1.amazoncognito.com}}/oauth2/idpresponse
      ```

1. Wählen Sie Ihre [Bereiche](https://openid.net/specs/openid-connect-basic-1_0.html#Scopes) aus. Sie müssen den Bereich **openid** einschließen. Fügen Sie den Bereich **email** hinzu, um Zugriff auf die **Ansprüche** [email](https://openid.net/specs/openid-connect-basic-1_0.html#StandardClaims) und **email\_verified** zu erteilen. Trennen Sie Bereiche durch Leerzeichen.

1. Wählen Sie **Erstellen** aus.

   In Salesforce wird die Client-ID als **Consumer Key (Verbraucherschlüssel)** bezeichnet, der geheime Client-Schlüssel als **Consumer Secret (Verbrauchergeheimnis)**. Notieren Sie die Client-ID und den geheimen Client-Schlüssel. Sie brauchen diese Informationen im nächsten Abschnitt.

## Hinzufügen eines OIDC-IdP zu Ihrem Benutzerpool
<a name="cognito-user-pools-oidc-idp-step-2"></a>

Nachdem Sie Ihren IdP eingerichtet haben, können Sie Ihren Benutzerpool so konfigurieren, dass Authentifizierungsanfragen mit einem OIDC-IdP bearbeitet werden.

------
#### [ Amazon Cognito console ]

**Einen OIDC-IdP in der Konsole hinzufügen**

1. Melden Sie sich bei der [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an. Geben Sie bei Aufforderung Ihre AWS -Anmeldeinformationen ein.

1. Wählen Sie **User Pools** (Benutzerpools) aus dem Navigationsmenü aus.

1. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder [erstellen Sie einen neuen Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Wählen Sie das Menü **Soziale Netzwerke und externe Anbieter** und wählen Sie dann Identitätsanbieter **hinzufügen** aus.

1. Wählen Sie einen **OpenID Connect**-IDP aus.

1. Geben Sie einen eindeutigen **Anbieternamen** ein.

1. Geben Sie die **IdP-Client-ID ein.** Dies ist die ID des Anwendungsclients, den Sie in Ihrem OIDC-IdP erstellen. Bei der von Ihnen angegebenen Client-ID muss es sich um einen OIDC-Anbieter handeln, den Sie mit der Callback-URL konfiguriert haben. `https://{{[your user pool domain]}}/oauth2/idpresponse`

1. Geben Sie den **geheimen IdP-Client-Schlüssel ein**. Dies muss der geheime Client-Schlüssel für denselben Anwendungsclient aus dem vorherigen Schritt sein.

1. <a name="cognito-user-pools-oidc-step-2-substep-9"></a>Geben Sie **Authorized scopes** (Autorisierte Bereiche) für diesen Anbieter ein. Bereiche definieren, welche Gruppen von Benutzerattributen (z. B. `name` und `email`) Ihre Anwendung von Ihrem Anbieter anfordert. Bereiche müssen gemäß der [OAuth2.0-Spezifikation](https://tools.ietf.org/html/rfc6749#section-3.3) durch Leerzeichen getrennt werden.

   Ihr IdP fordert Benutzer möglicherweise auf, der Bereitstellung dieser Attribute für Ihre Anwendung zuzustimmen, wenn sie sich anmelden.

1. Wählen Sie eine **Methode für die Anforderung von Attributen**. IdPserfordert möglicherweise, dass Anfragen an ihre `userInfo` Endpunkte entweder als oder `GET` formatiert werden. `POST` Der Amazon Cognito `userInfo` Cognito-Endpunkt erfordert beispielsweise `HTTP GET` Anfragen.

1. Wählen Sie eine **Einrichtungsmethode** für die Art und Weise, wie Ihr Benutzerpool den Pfad zu den wichtigsten OIDC-Verbundendpunkten bei Ihrem IdP bestimmen soll. IdPs Hosten Sie einen `/well-known/openid-configuration` Endpunkt in der Regel unter einer Basis-URL eines Emittenten. Wenn dies bei Ihrem Anbieter der Fall ist, fordert Sie die Option **Automatisch durch Aussteller-URL ausfüllen** auf, diese Basis-URL einzugeben, versucht, von dort aus auf den `/well-known/openid-configuration` Pfad zuzugreifen, und liest die dort aufgelisteten Endpunkte. Möglicherweise haben Sie untypische Endpunktpfade oder möchten Anfragen über einen alternativen Proxy an einen oder mehrere Endpunkte weiterleiten. Wählen Sie in diesem Fall **Manuelle Eingabe** aus und geben Sie Pfade für die `authorization` Endpunkte, `token``userInfo`, und `jwks_uri` an.
**Anmerkung**  
Die URL sollte mit `https://` beginnen und nicht mit einem Slash `/` enden. Nur die Portnummern 443 und 80 können mit dieser URL verwendet werden. Beispielsweise verwendet Salesforce diese URL:  
`https://login.salesforce.com`   
Wenn Sie das automatische Ausfüllen auswählen, muss das Erkennungsdokument HTTPS für die folgenden Werte verwenden: `authorization_endpoint`, `token_endpoint`, `userinfo_endpoint` und `jwks_uri`. Andernfalls schlägt die Anmeldung fehl.

1. Konfigurieren Sie Ihre Regeln für die Attributzuweisung unter **Attribute zwischen Ihrem OpenID Connect-Anbieter und Ihrem Benutzerpool zuordnen**. Das **Benutzerpool-Attribut** ist das *Zielattribut* im Amazon Cognito-Benutzerprofil und das **OpenID Connect-Attribut** ist das *Quellattribut*, das Amazon Cognito in einem ID-Token-Antrag oder einer Antwort finden soll. `userInfo` Amazon Cognito ordnet den `username` OIDC-Claim **Sub** automatisch dem Zielbenutzerprofil zu.

   Weitere Informationen finden Sie unter [Zuordnung von IdP-Attributen zu Profilen und Tokens](cognito-user-pools-specifying-attribute-mapping.md).

1. Wählen Sie **Identitätsanbieter hinzufügen** aus.

1. Wählen Sie im Menü **App-Clients** einen App-Client aus der Liste aus. Navigieren Sie zur Registerkarte **Anmeldeseiten** und wählen Sie unter **Konfiguration der verwalteten Anmeldeseiten** die Option **Bearbeiten** aus. Suchen Sie nach **Identitätsanbietern** und fügen Sie Ihren neuen OIDC-IdP hinzu.

1. Wählen Sie **Änderungen speichern ** aus.

------
#### [ API/CLI ]

Die OIDC-Konfiguration in Beispiel zwei finden Sie unter. [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html#API_CreateIdentityProvider_Example_2) Sie können diese Syntax ändern und sie als Anforderungstext von`CreateIdentityProvider`,`UpdateIdentityProvider`, oder als `--cli-input-json` Eingabedatei für verwenden. [create-identity-provider](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/create-identity-provider.html)

------

## Testen Ihrer OIDC-IdP-Konfiguration
<a name="cognito-user-pools-oidc-idp-step-3"></a>

In Ihrer Anwendung müssen Sie im Client des Benutzers einen Browser aufrufen, damit sich dieser bei seinem OIDC-Anbieter anmelden kann. Testen Sie die Anmeldung bei Ihrem Anbieter, nachdem Sie die Einrichtungsverfahren in den vorherigen Abschnitten abgeschlossen haben. Die folgende Beispiel-URL lädt die Anmeldeseite für Ihren Benutzerpool mit einer Präfix-Domain.

```
https://{{mydomain.auth.us-east-1.amazoncognito.com}}/oauth2/authorize?response_type=code&client_id={{1example23456789}}&redirect_uri={{https://www.example.com}}
```

Dieser Link ist die Seite, zu der Sie Amazon Cognito weiterleitet, wenn Sie zum Menü **App-Clients** gehen, einen App-Client auswählen, zum Tab **Anmeldeseiten** navigieren und **Anmeldeseite anzeigen** auswählen. Weitere Informationen zu Benutzerpool-Domains finden Sie unter[Konfigurieren einer Benutzerpool-Domäne](cognito-user-pools-assign-domain.md). Weitere Informationen zu App-Clients, einschließlich Client IDs und Callback URLs, finden Sie unter[Anwendungsspezifische Einstellungen mit App-Clients](user-pool-settings-client-apps.md).

Mit dem folgenden Beispiel-Link wird eine automatische Umleitung zum `MyOIDCIdP` Anbieter [Autorisieren des Endpunkts](authorization-endpoint.md) mit einem `identity_provider` Abfrageparameter eingerichtet. Diese URL umgeht die interaktive Benutzerpool-Anmeldung mit verwalteter Anmeldung und leitet direkt zur IdP-Anmeldeseite weiter.

```
https://{{mydomain.auth.us-east-1.amazoncognito.com}}/oauth2/authorize?identity_provider={{MyOIDCIdP}}&response_type=code&client_id={{1example23456789}}&redirect_uri={{https://www.example.com}}
```