

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 vorhandene 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 behandelt wird. Amazon Cognito dient als Zwischenschritt zwischen mehreren OIDC und Ihren Anwendungen. IdPs Ihr Benutzerpool wendet Regeln zur Attributzuordnung auf die Ansprüche in der ID und den Zugriffstoken an, die Ihr Anbieter direkt an Ihren Benutzerpool weiterleitet. Amazon Cognito gibt dann neue Token aus, die auf den zugewiesenen Benutzerattributen und allen zusätzlichen Anpassungen basieren, die Sie mit Lambda-Triggern am Authentifizierungsablauf vorgenommen haben. [Lambda-Auslöser für Verbundbenutzer](cognito-user-pools-working-with-lambda-triggers.md#lambda-triggers-for-federated-users)

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. Im Hintergrund befindet sich ein Benutzerpool als Tool, das das Token-Format für Ihre Anwendung standardisiert. Weitere Informationen zur IdP-Umleitung finden Sie unter. [Autorisieren des Endpunkts](authorization-endpoint.md)

Wie bei anderen externen Identitätsanbietern 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 OIDC-IdP für einen Benutzerpool benötigt eine Client-ID, einen geheimen Client-Schlüssel, Bereiche, die Sie anfordern möchten, und Informationen zu den Dienstendpunkten des Anbieters. Ihr Benutzerpool kann die Provider-OIDC-Endpunkte von einem Discovery-Endpunkt aus ermitteln, oder Sie können sie manuell eingeben. Sie müssen auch die Provider-ID-Token untersuchen und Attributzuordnungen zwischen dem IdP und den Attributen in Ihrem Benutzerpool erstellen.

![Ablauf der OIDC-Benutzerpool-IdP-Authentifizierung](https://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**  
Sign-in über einen Drittanbieter (Verband) ist in Amazon Cognito-Benutzerpools verfügbar. Diese Funktion ist unabhängig vom OIDC-Verbund mit Amazon Cognito-Identitätspools.

Sie können Ihrem Benutzerpool einen OIDC-IdP in der AWS-Managementkonsole, über die oder mit der AWS CLI Benutzerpool-API-Methode hinzufügen. [ 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 ECDSA HMAC-SHA - oder RSA-Algorithmen.
  + Veröffentlicht einen Schlüssel-ID`kid`-Anspruch am `jwks_uri` und enthält einen `kid`-Anspruch in seinen Token.
  + Stellt einen nicht abgelaufenen öffentlichen Schlüssel mit einer gültigen Root-CA-Vertrauenskette dar.

## 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 eine OIDC-Client-Anwendung in Ihrem IdP ein. Ihr Benutzerpool ist die Anwendung der Vertrauenspartei, die die Authentifizierung bei Ihrem IdP verwaltet.

**Registrieren mit einem OIDC-IdP**

1. Erstellen Sie ein Entwickler-Konto bei dem OIDC-IdP.


**Links zu OIDC IdPs**  

<table>
<thead>
  <tr><th>OIDC-IdP</th><th>Installieren</th><th>URL für die OIDC-Erkennung</th></tr>
</thead>
<tbody>
  <tr><td>Salesforce</td><td><a href="https://help.salesforce.com/s/articleView?id=xcloud.service_provider_define_oid.htm&amp;type=5">Salesforce als OpenID Connect-Identitätsanbieter </a></td><td><code>https://MyDomainName.my.salesforce.com/.well-known/openid-configuration</code></td></tr>
  <tr><td>OneLogin</td><td><a href="https://developers.onelogin.com/openid-connect/connect-to-onelogin">Verbinden Sie eine OIDC-fähige App </a></td><td><code>https://your-domain.onelogin.com/oidc/2/.well-known/openid-configuration</code></td></tr>
  <tr><td>JumpCloud</td><td><a href="https://jumpcloud.com/support/sso-with-oidc">SSO mit OIDC </a></td><td><code>https://oauth.id.jumpcloud.com/.well-known/openid-configuration</code></td></tr>
  <tr><td>Okta</td><td><a href="https://help.okta.com/en/prev/Content/Topics/Apps/Apps_App_Integration_Wizard.htm#OIDCWizard">Installieren eines Okta-Identitätsanbieters</a></td><td><code>https://Your Okta subdomain.okta.com/.well-known/openid-configuration</code></td></tr>
  <tr><td>Microsoft Entra ID</td><td><a href="https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols-oidc">OpenID Connect auf der Microsoft-Identitätsplattform </a></td><td><code>https://login.microsoftonline.com/{tenant}/v2.0</code><br />Die Werte von <code>tenant</code> können eine Mandanten-ID, <code>common</code><code>organizations</code>, oder <code>consumers</code> enthalten.</td></tr>
</tbody>
</table>


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 aus](cognito-user-pools-define-resource-servers.md#cognito-user-pools-define-resource-servers-about-scopes), die Ihr Benutzerverzeichnis mit Ihrem Benutzerpool teilen soll. Der Bereich ** openid ** ist erforderlich, damit OIDC Benutzerinformationen IdPs anbieten kann. Der `email` Geltungsbereich wird benötigt, um Zugriff auf die und Claims zu gewähren. `email` `email_verified` [https://openid.net/specs/openid-connect-basic-1_0.html#StandardClaims](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 Vertrauensstellung zwischen einem OIDC-compatible 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 **OAuth settings** (OAuth-Einstellungen) und geben Sie die URL des `/oauth2/idpresponse`-Endpunkts für Ihre Benutzerpool-Domäne unter **Callback URL** (Rückruf-URL) ein. Dies ist die URL, mit 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 verarbeitet werden.

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

**Fügen Sie einen OIDC-IdP in der Konsole hinzu**

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 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. Die von Ihnen angegebene Client-ID muss ein OIDC-Anbieter sein, den Sie mit einer Rückruf-URL von konfiguriert haben. `https://{{[your user pool domain]}}/oauth2/idpresponse`

1. Geben Sie den geheimen ** IdP-Client ein. ** Dies muss das Client-Geheimnis 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 durch Leerzeichen getrennt werden, gefolgt von einer [OAuth 2.0](https://tools.ietf.org/html/rfc6749#section-3.3)-Angabe.

   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 zur ** Anforderung von ** Attributen. IdPserfordert möglicherweise, dass Anfragen an ihre `userInfo` Endpunkte als entweder oder `GET` formatiert werden. `POST` Der Amazon `userInfo` Cognito-Endpunkt erfordert `HTTP GET` beispielsweise Anfragen.

1. Wählen Sie eine ** Einrichtungsmethode ** für die Art und Weise, wie Ihr Benutzerpool den Pfad zu den wichtigsten OIDC-federation Endpunkten bei Ihrem IdP bestimmen soll. IdPs Hosten Sie einen `/well-known/openid-configuration` Endpunkt in der Regel unter einer Basis-URL des Ausstellers. Wenn dies bei Ihrem Anbieter der Fall ist, fordert Sie die ** Option ** Automatisches Ausfüllen über die Aussteller-URL auf, versucht, von dort aus auf den `/well-known/openid-configuration` Pfad zuzugreifen, und liest die dort aufgeführten Endpunkte. Möglicherweise haben Sie ungewöhnliche Endpunktpfade oder möchten Anfragen über einen alternativen Proxy an einen oder mehrere Endpunkte weiterleiten. Wählen Sie in diesem Fall ** Manuelle Eingabe ** und geben Sie die 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 ** Attributzuordnung unter Attribute zwischen Ihrem OpenID Connect-Anbieter und Ihrem Benutzerpool zuordnen. ** **Das Benutzerpoolattribut ** ist das * * Zielattribut im Amazon Cognito-Benutzerprofil und das ** OpenID Connect-Attribut ** ist das * * Quellattribut, das Amazon Cognito in einem Anspruch oder einer Antwort finden soll. ID-token `userInfo` Amazon Cognito ordnet den untergeordneten OIDC-Anspruch automatisch im ** Zielbenutzerprofil ** zu`username`.

   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 2 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` oder als `--cli-input-json` Eingabedatei für `UpdateIdentityProvider` [ create-identity-provider verwenden. ](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 einen Browser im Client des Benutzers 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 Amazon Cognito Sie weiterleitet, wenn Sie zum ** ** App-Client-Menü 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 Rückruf-URLs, finden Sie unter[Anwendungsspezifische Einstellungen mit App-Clients](user-pool-settings-client-apps.md).

Der folgende Beispiel-Link richtet eine automatische Weiterleitung vom `MyOIDCIdP` Anbieter [Autorisieren des Endpunkts](authorization-endpoint.md) mit einem `identity_provider` Abfrageparameter ein. 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}}
```