

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.

# Verwalten Sie Authentifizierungsmethoden in AWS SDKs
<a name="authentication-flows-selection-sdk"></a>

*Benutzer in Amazon Cognito Cognito-Benutzerpools können sich mit einer Vielzahl von Optionen oder Faktoren für die Erstanmeldung anmelden.* Bei einigen Faktoren können Benutzer anschließend eine Multi-Faktor-Authentifizierung (MFA) durchführen. Zu diesen ersten Faktoren gehören Benutzername und Passwort, Einmalpasswort, Hauptschlüssel und benutzerdefinierte Authentifizierung. Weitere Informationen finden Sie unter [Authentifizierungsabläufe](amazon-cognito-user-pools-authentication-flow-methods.md). Wenn Ihre Anwendung über integrierte Benutzeroberflächenkomponenten verfügt und ein AWS SDK-Modul importiert, müssen Sie eine Anwendungslogik für die Authentifizierung erstellen. Sie müssen eine von zwei Hauptmethoden und aus dieser Methode die Authentifizierungsmechanismen auswählen, die Sie implementieren möchten.

Sie können eine *clientbasierte Authentifizierung* implementieren, bei der Ihre Anwendung oder Ihr Client den Authentifizierungstyp im Voraus deklariert. Ihre andere Option ist die *wahlbasierte Authentifizierung*, bei der Ihre App einen Benutzernamen erfasst und die verfügbaren Authentifizierungstypen für Benutzer anfordert. Sie können diese Modelle je nach Ihren Anforderungen zusammen in derselben Anwendung oder aufgeteilt auf mehrere App-Clients implementieren. Jede Methode verfügt über einzigartige Funktionen, z. B. benutzerdefinierte Authentifizierung bei clientbasierter Authentifizierung und kennwortlose Authentifizierung bei wahlbasierter Authentifizierung.

In maßgeschneiderten Anwendungen, die die Authentifizierung mithilfe der AWS SDK-Implementierung der Benutzerpool-API durchführen, müssen Sie Ihre API-Anfragen so strukturieren, dass sie der Benutzerpoolkonfiguration, der App-Client-Konfiguration und den clientseitigen Einstellungen entsprechen. Eine `InitiateAuth` Sitzung, die mit einem of beginnt, beginnt mit `AuthFlow` der wahlbasierten Authentifizierung`USER_AUTH`. Amazon Cognito antwortet auf Ihre API mit der Aufforderung, entweder eine bevorzugte Authentifizierungsmethode oder eine Liste von Auswahlmöglichkeiten auszuwählen. Eine Sitzung, die mit oder beginnt, `CUSTOM_AUTH` geht direkt `AuthFlow` zur benutzerdefinierten Authentifizierung mit Lambda-Triggern über.

Einige Authentifizierungsmethoden sind auf einen der beiden Flow-Typen festgelegt, und einige Methoden sind in beiden verfügbar.

**Topics**
+ [Wahlbasierte Authentifizierung](#authentication-flows-selection-choice)
+ [Client-basierte Authentifizierung](#authentication-flows-selection-client)

## Wahlbasierte Authentifizierung
<a name="authentication-flows-selection-choice"></a>

Ihre Anwendung kann bei der wahlbasierten Authentifizierung die folgenden Authentifizierungsmethoden anfordern. Deklarieren Sie diese Optionen im `PREFERRED_CHALLENGE` Parameter von [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html#CognitoUserPools-InitiateAuth-request-AuthParameters)oder [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html#CognitoUserPools-AdminInitiateAuth-request-AuthParameters)oder im `ChallengeName` Parameter von [RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html#CognitoUserPools-RespondToAuthChallenge-request-ChallengeName)oder. [AdminRespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminRespondToAuthChallenge.html#CognitoUserPools-AdminRespondToAuthChallenge-request-ChallengeName)

1. `EMAIL_OTP` und `SMS_OTP`

   [Passwortlose Anmeldung mit Einmalpasswörtern](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless)

1. `WEB_AUTHN`

   [Passwortlose Anmeldung mit Passkeys WebAuthn](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passkey)

1. `PASSWORD`

   [Melden Sie sich mit dauerhaften Passwörtern an](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-password)

   [Melden Sie sich mit dauerhaften Passwörtern und sicherer Payload an](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-srp)

   [MFA nach der Anmeldung](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-mfa)

Informationen zu diesen Optionen in ihrem API-Kontext finden Sie `ChallengeName` unter [RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html#CognitoUserPools-RespondToAuthChallenge-request-ChallengeName).

Bei der wahlbasierten Anmeldung wird als Antwort auf Ihre erste Anfrage eine Aufforderung ausgegeben. Bei dieser Aufforderung wird entweder überprüft, ob eine angeforderte Option verfügbar ist, oder es wird eine Liste der verfügbaren Optionen bereitgestellt. Ihre Anwendung kann diese Optionen Benutzern anzeigen, die dann Anmeldeinformationen für ihre bevorzugte Anmeldemethode eingeben und mit der Authentifizierung bei Challenge-Antworten fortfahren.

In Ihrem Authentifizierungsablauf stehen Ihnen die folgenden auswahlbasierten Optionen zur Verfügung. Alle Anfragen dieses Typs erfordern, dass Ihre App zuerst einen Benutzernamen erfasst oder ihn aus einem Cache abruft.

1. `USERNAME`Nur Optionen mit `AuthParameters` oder anfordern. Amazon Cognito gibt eine `SELECT_CHALLENGE` Herausforderung zurück. Von dort aus kann Ihre Anwendung den Benutzer auffordern, eine Herausforderung auszuwählen und diese Antwort an Ihren Benutzerpool zurückzugeben.

1. Fordere eine bevorzugte Herausforderung mit `AuthParameters` von `PREFERRED_CHALLENGE` und den Parametern deiner bevorzugten Herausforderung an, falls vorhanden. Wenn Sie beispielsweise ein `PREFERRED_CHALLENGE` of anfordern`PASSWORD_SRP`, müssen Sie auch angeben`SRP_A`. Wenn Ihr Benutzer, Ihr Benutzerpool und Ihr App-Client alle für die bevorzugte Herausforderung konfiguriert sind, reagiert Amazon Cognito mit dem nächsten Schritt in dieser Herausforderung, z. B. `PASSWORD_VERIFIER` im `PASSWORD_SRP` Flow oder [CodeDeliveryDetails](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CodeDeliveryDetailsType.html)in den `EMAIL_OTP` `SMS_OTP` and-Flows. Wenn die bevorzugte Herausforderung nicht verfügbar ist, antwortet Amazon Cognito mit `SELECT_CHALLENGE` einer Liste verfügbarer Herausforderungen.

1. Melden Sie die Benutzer zuerst an und fordern Sie dann ihre bevorzugten Authentifizierungsoptionen an. Eine [GetUserAuthFactors](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUserAuthFactors.html)Anfrage mit dem Zugriffstoken eines angemeldeten Benutzers gibt seine verfügbaren auswahlbasierten Authentifizierungsfaktoren und seine MFA-Einstellungen zurück. Mit dieser Option kann sich ein Benutzer zuerst mit Benutzername und Passwort anmelden und dann eine andere Form der Authentifizierung aktivieren. Sie können diesen Vorgang auch verwenden, um zusätzliche Optionen für einen Benutzer zu überprüfen, der sich mit einer bevorzugten Herausforderung angemeldet hat.

Um [Ihren App-Client für die wahlbasierte Authentifizierung zu konfigurieren](authentication.md#authentication-implement), fügen Sie weitere Informationen `ALLOW_USER_AUTH` zu den zulässigen Authentifizierungsabläufen hinzu. Sie müssen auch die auswahlbasierten Faktoren auswählen, die Sie in Ihrer Benutzerpool-Konfiguration zulassen möchten. Der folgende Prozess veranschaulicht, wie Sie wahlbasierte Authentifizierungsfaktoren auswählen.

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

**So konfigurieren Sie wahlbasierte Authentifizierungsoptionen in einem Benutzerpool**

1. Melden Sie sich an AWS und navigieren Sie zur [Amazon Cognito Cognito-Benutzerpools-Konsole](https://console.aws.amazon.com/cognito/v2/idp). Wählen Sie einen Benutzerpool oder erstellen Sie einen neuen.

1. Wählen Sie in Ihrer Benutzerpool-Konfiguration das **Anmelde-Menü** aus. **Suchen Sie nach **Optionen für die wahlbasierte Anmeldung und wählen** Sie Bearbeiten.**

1. Die Option **Passwort** ist immer verfügbar. Dies beinhaltet die `PASSWORD_SRP` Flüsse `PASSWORD` und. Wählen Sie die **zusätzlichen Optionen** aus, die Sie zu den Optionen Ihrer Benutzer hinzufügen möchten. Sie können **Hauptschlüssel für`WEB_AUTHN`, Einmalpasswort** **für `EMAIL_OTP` E-Mail-Nachrichten und Einmalkennwort** **für `SMS_OTP` SMS-Nachrichten** hinzufügen.

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

------
#### [ API/SDK ]

Im folgenden Teil [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)- oder [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html)Anforderungstext werden alle verfügbaren Optionen für die wahlbasierte Authentifizierung konfiguriert.

```
"Policies": {
    "SignInPolicy": {
        "AllowedFirstAuthFactors": [
            "PASSWORD",
            "WEB_AUTHN",
            "EMAIL_OTP",
            "SMS_OTP"
        ]
    }
},
```

------

## Client-basierte Authentifizierung
<a name="authentication-flows-selection-client"></a>

Die clientbasierte Authentifizierung unterstützt die folgenden Authentifizierungsabläufe. Deklarieren Sie diese Optionen im `AuthFlow` Parameter von [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html#CognitoUserPools-InitiateAuth-request-AuthFlow)oder [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html#CognitoUserPools-AdminInitiateAuth-request-AuthFlow).

1. `USER_PASSWORD_AUTH` und `ADMIN_USER_PASSWORD_AUTH`

   [Melden Sie sich mit dauerhaften Passwörtern an](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-password)

   [MFA nach der Anmeldung](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-mfa)

   Dieser Authentifizierungsablauf entspricht `PASSWORD` der wahlbasierten Authentifizierung.

1. `USER_SRP_AUTH`

   [Melden Sie sich mit dauerhaften Passwörtern und sicherer Payload an](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-srp)

   [MFA nach der Anmeldung](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-mfa)

   Dieser Authentifizierungsablauf entspricht der wahlbasierten `PASSWORD_SRP` Authentifizierung.

1. `REFRESH_TOKEN_AUTH`

   [Tokens aktualisieren](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-refresh)

   Dieser Authentifizierungsablauf ist nur bei der clientbasierten Authentifizierung verfügbar.

1. `CUSTOM_AUTH`

   [Benutzerdefinierte Authentifizierung](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-custom)

   Dieser Authentifizierungsablauf ist nur bei der clientbasierten Authentifizierung verfügbar.

Bei der clientbasierten Authentifizierung geht Amazon Cognito davon aus, dass Sie festgelegt haben, wie sich Ihr Benutzer authentifizieren möchte, bevor er mit den Authentifizierungsabläufen beginnt. Die Logik zur Bestimmung des Anmeldefaktors, den ein Benutzer angeben möchte, muss anhand von Standardeinstellungen oder benutzerdefinierten Eingabeaufforderungen festgelegt und dann in der ersten Anfrage an Ihren Benutzerpool deklariert werden. Die `InitiateAuth` Anfrage deklariert beispielsweise eine Anmeldung`AuthFlow`, die direkt einer der aufgelisteten Optionen entspricht. `USER_SRP_AUTH` Mit dieser Deklaration enthält die Anforderung auch die Parameter für den Beginn der Authentifizierung, z. B. `USERNAME``SECRET_HASH`, und. `SRP_A` Amazon Cognito könnte auf diese Anfrage mit zusätzlichen Herausforderungen reagieren, z. B. `PASSWORD_VERIFIER` für SRP oder `SOFTWARE_TOKEN_MFA` für die Kennwortanmeldung mit TOTP MFA.

Um [Ihren App-Client für die clientbasierte Authentifizierung zu konfigurieren](authentication.md#authentication-implement), fügen Sie alle anderen Authentifizierungsabläufe als `ALLOW_USER_AUTH` die zulässigen Authentifizierungsabläufe hinzu. Beispiele sind `ALLOW_USER_PASSWORD_AUTH``ALLOW_CUSTOM_AUTH`,`ALLOW_REFRESH_TOKEN_AUTH`. Um clientbasierte Authentifizierungsabläufe zuzulassen, ist keine zusätzliche Benutzerpoolkonfiguration erforderlich.