

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.

# Mit Apple anmelden als Identitätspool-IdP einrichten
<a name="apple"></a>

Amazon Cognito Cognito-Identitätspools arbeiten mit Sign in with Apple zusammen, um eine Verbundauthentifizierung für Benutzer Ihrer mobilen Anwendungen und Webanwendungen bereitzustellen. In diesem Abschnitt wird erklärt, wie Sie Ihre Anwendung mittels „Mit Apple anmelden“ als Identitätsanbieter (IdP) registrieren und einrichten.

Das Hinzufügen von „Mit Apple anmelden“ als Authentifizierungsanbieter zu einem Identitäten-Pool ist ein zweistufiger Prozess. Zuerst integrieren Sie „Mit Apple anmelden“ in eine Anwendung und dann konfigurieren Sie „Mit Apple anmelden“ in Identitäten-Pools. Die meisten up-to-date Informationen zur Einrichtung von Sign in with Apple finden Sie unter [Konfiguration Ihrer Umgebung für die Anmeldung mit Apple in der Apple-Dokumentation](https://developer.apple.com/documentation/signinwithapple/configuring-your-environment-for-sign-in-with-apple) für Entwickler.

## Einrichten von „Mit Apple anmelden“
<a name="login-with-apple-setup"></a>

Zum Konfigurieren von „Mit Apple anmelden“ als IdP müssen Sie Ihre Anwendung bei Apple registrieren, um die Client-ID zu erhalten.

1. Erstellen Sie ein [Entwickler-Konto bei Apple](https://developer.apple.com/programs/enroll/).

1. [Melden Sie sich](https://developer.apple.com/account/#/welcome) mit Ihren Apple-Anmeldeinformationen an.

1. Wählen Sie im linken Navigationsbereich die Option **Zertifikate IDs und Profile** aus.

1. Wählen Sie im linken Navigationsbereich **Kennungen** aus.

1. Wählen Sie auf der Seite **Kennungen** das Symbol **\$1** aus.

1. Wählen Sie auf der Seite **Neue Kennung registrieren** die Option **App IDs** und dann **Weiter** aus.

1. Machen Sie auf der Seite **Registrieren einer App-ID** das Folgende:

   1. Geben Sie unter **Beschreibung** eine Beschreibung ein.

   1. Geben Sie unter **Bundle-ID** eine Kennung ein. Notieren Sie sich diese **Bundle ID** (Bundle-ID), da Sie diesen Wert benötigen, um Apple als Anbieter im Identitäten-Pool zu konfigurieren. 

   1. Wählen Sie unter **Funktionen** die Option **Mit Apple anmelden** und dann **Bearbeiten** aus.

   1. Wählen Sie auf der Seite **Anmeldung mit Apple: App-ID-Konfiguration** die entsprechende Einstellung für Ihre App aus. Wählen Sie dann **Speichern**.

   1. Klicken Sie auf **Continue**.

1. Wählen Sie auf der Seite **App-ID bestätigen** die Option **Registrieren** aus.

1. Fahren Sie mit Schritt 10 fort, wenn Sie „Mit Apple anmelden“ in eine native iOS-Anwendung integrieren möchten. Schritt 11 ist für Anwendungen vorgesehen, die Sie in die Anmeldung mit Apple JS integrieren möchten.

1. Wählen Sie auf der Seite **Identifikatoren** das ** IDsApp-Menü** und dann **Dienste IDs** aus. Klicken Sie auf das Pluszeichen (**\$1**).

1. Wählen Sie auf der Seite **Neue Kennung registrieren** die Option **Dienste IDs** und dann **Weiter** aus.

1. Machen Sie auf der Seite **Registrieren einer Service-ID** das Folgende:

   1. Geben Sie unter **Beschreibung** eine Beschreibung ein.

   1. Geben Sie unter **Kennungen** eine Kennung ein. Notieren Sie sich die Service-ID, da Sie diesen Wert benötigen, um Apple als Anbieter in Ihrem Identitäten-Pool zu konfigurieren. 

   1. Wählen Sie **Mit Apple anmelden** und dann **Konfigurieren** aus.

   1. Wählen Sie auf der **Webauthentifizierungs-Konfiguration** eine **Primäre App-ID**. Wählen Sie URLs unter **Website** das **Pluszeichen** aus. Geben Sie für **Domänen und Subdomänen** den Domänennamen Ihrer App ein. Geben Sie im Feld **Return die Callback-URL ein URLs,** an die die Autorisierung den Benutzer weiterleitet, nachdem er sich über Sign in with Apple authentifiziert hat. 

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

   1. Wählen Sie **Weiter** und dann **Registrieren** aus.

1. Wählen Sie im linken Navigationsbereich die Option **Schlüssel** aus.

1. Klicken Sie auf der Seite **Schlüssel** auf das Symbol **\$1**.

1. Machen Sie auf der Seite **Registrieren eines neuen Schlüssels** das Folgende:

   1. Geben Sie unter **Schlüsselname** einen Schlüsselnamen ein. 

   1. Wählen Sie **Mit Apple anmelden** und dann **Konfigurieren** aus.

   1. Wählen Sie auf der Seite **Schlüssel konfigurieren** eine **Primäre App-ID** und dann **Speichern** aus.

   1. Wählen Sie **Weiter** und dann **Registrieren** aus.

**Anmerkung**  
Informationen zur Integration von „Mit Apple anmelden“ in eine native iOS-Anwendung finden Sie unter [Implementing User Authentication with Sign in with Apple](https://developer.apple.com/documentation/authenticationservices/implementing-user-authentication-with-sign-in-with-apple).  
Informationen zur Integration von „Mit Apple anmelden“ in eine andere Plattform als natives iOS finden Sie unter [Anmelden mit Apple JS](https://developer.apple.com/documentation/signinwithapplejs/). 

## Konfigurieren des externen Anbieters in der Amazon-Cognito-Verbundidentitäten-Konsole
<a name="login-with-apple-configure-provider"></a>

Gehen Sie wie folgt vor, um Ihren externen Anbieter zu konfigurieren.

**So fügen Sie eine Anmeldung mit dem Identitätsanbieter (IdP) Apple hinzu**

1. Wählen Sie **Identitätspools** in der [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) aus. Wählen Sie einen Identitätspool.

1. Wählen Sie die Registerkarte **Datenzugriff** aus.

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

1. Wählen Sie **Mit Apple anmelden**.

1. Geben Sie die **Services-ID** des OAuth Projekts ein, das Sie mit [Apple](https://developer.apple.com) Developer erstellt haben. Weitere Informationen finden Sie unter [Authentifizieren von Benutzern mit „Mit Apple anmelden“](https://developer.apple.com/documentation/signinwithapple/authenticating-users-with-sign-in-with-apple) in der *Dokumentation zu „Mit Apple anmelden“ *.

1. Um die Rolle festzulegen, die Amazon Cognito bei der Ausgabe von Anmeldeinformationen an Benutzer anfordert, die sich bei diesem Anbieter authentifiziert haben, konfigurieren Sie die **Rolleneinstellungen**.

   1. Sie können Benutzern dieses IdPs die **Standardrolle** zuweisen, die Sie bei der Konfiguration Ihrer **authentifizierten Rolle** eingerichtet haben, oder die **Rolle mit Regeln wählen**.

     1. Wenn Sie **Rolle mit Regeln wählen** ausgewählt haben, geben Sie die Quell-**Anforderung** aus der Benutzerauthentifizierung, den **Operator**, mit dem Sie die Anforderung vergleichen möchten, den **Wert**, der zu einer Übereinstimmung mit dieser Rollenauswahl führt, und die **Rolle** ein, die Sie zuweisen möchten, wenn die **Rollenzuweisung** übereinstimmt. Wählen Sie **Weitere hinzufügen** aus, um eine zusätzliche Regel zu erstellen, die auf einer anderen Bedingung basiert.

     1. Wählen Sie eine **Rollenauflösung**. Wenn die Anforderungen Ihres Benutzers nicht Ihren Regeln entsprechen, können Sie Anmeldeinformationen verweigern oder Anmeldeinformationen für Ihre **Authentifizierte Rolle** ausgeben.

1. Um die Prinzipal-Tags zu ändern, die Amazon Cognito Benutzern zuweist, wenn es Anmeldeinformationen an Benutzer ausgibt, die sich bei diesem Anbieter authentifiziert haben, konfigurieren Sie die **Attribute für die Zugriffskontrolle**.

   1. Um keine Prinzipal-Tags anzuwenden, wählen Sie **Inaktiv** aus.

   1. Wählen Sie **Standardzuordnungen verwenden**, um Prinzipal-Tags auf der Grundlage von `sub`- und `aud`-Anforderungen anzuwenden.

   1. Um Ihr eigenes benutzerdefiniertes Schema von Attributen für Prinzipal-Tags zu erstellen, wählen Sie **Benutzerdefinierte Zuordnungen verwenden**. Geben Sie dann einen **Tag-Schlüssel** ein, den Sie aus jeder **Anforderung** beziehen möchten, die Sie in einem Tag repräsentieren möchten.

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

## Anmelden mit Apple als Anbieter in den Amazon-Cognito-Verbundidentitäten-CLI-Beispielen
<a name="sign-in-with-apple-cli-examples"></a>

In diesem Beispiel wird ein Identitäten-Pool mit dem Namen `MyIdentityPool` mit „Mit Apple anmelden“ als IdP erstellt.

`aws cognito-identity create-identity-pool --identity-pool-name MyIdentityPool --supported-login-providers appleid.apple.com="sameple.apple.clientid"`

 Weitere Informationen finden Sie unter [Erstellen eines Identitätspools](https://docs.aws.amazon.com/cli/latest/reference/cognito-identity/create-identity-pool.html). 

**Erstellen Sie eine Amazon-Cognito-Identität-ID**  
 In diesem Beispiel wird eine Amazon-Cognito-ID generiert (oder abgerufen). Da dies eine öffentliche API ist, benötigen Sie keine Anmeldeinformationen, um diese API aufzurufen.

`aws cognito-identity get-id --identity-pool-id SampleIdentityPoolId --logins appleid.apple.com="SignInWithAppleIdToken"`

Weitere Informationen finden Sie unter [get-id](https://docs.aws.amazon.com/cli/latest/reference/cognito-identity/get-id.html). 

**Anfordern von Anmeldeinformationen für eine Amazon-Cognito-Identitäts-ID**  
In diesem Beispiel werden Anmeldeinformationen für die angegebene Identitäts-ID und für „Mit Apple anmelden“ zurückgegeben. Da dies eine öffentliche API ist, benötigen Sie keine Anmeldeinformationen, um diese API aufzurufen.

`aws cognito-identity get-credentials-for-identity --identity-id SampleIdentityId --logins appleid.apple.com="SignInWithAppleIdToken" `

Weitere Informationen finden Sie unter [get-credentials-for-identity](https://docs.aws.amazon.com/cli/latest/reference/cognito-identity/get-credentials-for-identity.html). 

## „Mit Apple anmelden“ verwenden: Android
<a name="set-up-apple-1.android"></a>

Apple stellt kein SDK bereit, das „Mit Apple anmelden“ für Android unterstützt. Sie können stattdessen den Webflow in einer Webansicht verwenden.
+ Um „Mit Apple anmelden“ in Ihrer Anwendung zu konfigurieren, folgen Sie in der Apple-Dokumentation der Seite[Konfigurieren Ihrer Webseite für „Mit Apple anmelden“](https://developer.apple.com/documentation/signinwithapple/configuring-your-webpage-for-sign-in-with-apple).
+ Um Ihrer Android-Benutzeroberfläche eine Schaltfläche „**Mit Apple anmelden**“ hinzuzufügen, folgen Sie [in der Apple-Dokumentation den Abschnitt „Mit Apple anmelden“ -Buttons im Internet anzeigen](https://developer.apple.com/documentation/signinwithapple/displaying-sign-in-with-apple-buttons-on-the-web).
+ Um Benutzer sicher mit „Mit Apple anmelden“ zu authentifizieren, folgen Sie der Anleitung unter [Authenticating Users with Sign in with Apple](https://developer.apple.com/documentation/signinwithapple/authenticating-users-with-sign-in-with-apple) (Konfigurieren Ihrer Webseite für „Mit Apple anmelden“) in der Apple-Dokumentation.

Das Anmelden mit Apple verwendet ein Sitzungsobjekt, um seinen Status nachzuverfolgen. Amazon Cognito verwendet das ID-Token aus diesem Sitzungsobjekt, um den Benutzer zu authentifizieren, die eindeutige Kennung zu generieren und dem Benutzer bei Bedarf Zugriff auf andere AWS Ressourcen zu gewähren.

```
@Override
public void onSuccess(Bundle response) {
    String token = response.getString("id_token");
    Map<String, String> logins = new HashMap<String, String>();
    logins.put("appleid.apple.com", token);
    credentialsProvider.setLogins(logins);
}
```

## „Mit Apple anmelden“ verwenden: iOS – Objective-C
<a name="set-up-apple-1.ios-objc"></a>

Apple bietet SDK-Support für „Mit Apple anmelden“ in nativen iOS-Anwendungen. Um die Benutzerauthentifizierung mit „Mit Apple anmelden“ in nativen iOS-Geräten zu implementieren, folgen Sie [Implementieren der Benutzerauthentifizierung mit „Mit Apple anmelden“](https://developer.apple.com/documentation/authenticationservices/implementing-user-authentication-with-sign-in-with-apple) in der Apple-Dokumentation.

Amazon Cognito verwendet das ID-Token, um den Benutzer zu authentifizieren, die eindeutige Kennung zu generieren und dem Benutzer bei Bedarf Zugriff auf andere AWS Ressourcen zu gewähren.

```
(void)finishedWithAuth: (ASAuthorizationAppleIDCredential *)auth error: (NSError *) error {
        NSString *idToken = [ASAuthorizationAppleIDCredential objectForKey:@"identityToken"];
        credentialsProvider.logins = @{ "appleid.apple.com": idToken };
    }
```

## „Mit Apple anmelden“ verwenden: iOS – Swift
<a name="set-up-apple-1.ios-swift"></a>

Apple bietet SDK-Support für „Mit Apple anmelden“ in nativen iOS-Anwendungen. Um die Benutzerauthentifizierung mit „Mit Apple anmelden“ in nativen iOS-Geräten zu implementieren, folgen Sie [Implementieren der Benutzerauthentifizierung mit „Mit Apple anmelden“](https://developer.apple.com/documentation/authenticationservices/implementing-user-authentication-with-sign-in-with-apple) in der Apple-Dokumentation.

Amazon Cognito verwendet das ID-Token, um den Benutzer zu authentifizieren, die eindeutige Kennung zu generieren und dem Benutzer bei Bedarf Zugriff auf andere AWS Ressourcen zu gewähren.

Weitere Informationen zum Einrichten von „Mit Apple anmelden“ in iOS finden Sie unter [Einrichten von „Mit Apple anmelden“](https://docs.amplify.aws/sdk/auth/federated-identities/q/platform/ios#set-up-sign-in-with-apple).

```
func finishedWithAuth(auth: ASAuthorizationAppleIDCredential!, error: NSError!) {
    if error != nil {
      print(error.localizedDescription)
    }
    else {
      let idToken = auth.identityToken,
      credentialsProvider.logins = ["appleid.apple.com": idToken!]
    }
}
```

## Verwenden Sie „Mit Apple anmelden“: JavaScript
<a name="set-up-apple-1.javascript"></a>

Apple bietet kein SDK an, das die Anmeldung mit Apple für unterstützt JavaScript. Sie können stattdessen den Webflow in einer Webansicht verwenden.
+ Um „Mit Apple anmelden“ in Ihrer Anwendung zu konfigurieren, folgen Sie in der Apple-Dokumentation der Seite[Konfigurieren Ihrer Webseite für „Mit Apple anmelden“](https://developer.apple.com/documentation/signinwithapple/configuring-your-webpage-for-sign-in-with-apple).
+ Wie du deiner JavaScript Benutzeroberfläche eine Schaltfläche „**Mit Apple anmelden**“ hinzufügst, erfährst du [in der Apple-Dokumentation unter „Mit Apple anmelden“ -Buttons im Internet anzeigen](https://developer.apple.com/documentation/signinwithapple/displaying-sign-in-with-apple-buttons-on-the-web).
+ Um Benutzer sicher mit „Mit Apple anmelden“ zu authentifizieren, folgen Sie der Anleitung unter [Authenticating Users with Sign in with Apple](https://developer.apple.com/documentation/signinwithapple/authenticating-users-with-sign-in-with-apple) (Konfigurieren Ihrer Webseite für „Mit Apple anmelden“) in der Apple-Dokumentation.

Das Anmelden mit Apple verwendet ein Sitzungsobjekt, um seinen Status nachzuverfolgen. Amazon Cognito verwendet das ID-Token aus diesem Sitzungsobjekt, um den Benutzer zu authentifizieren, die eindeutige Kennung zu generieren und dem Benutzer bei Bedarf Zugriff auf andere AWS Ressourcen zu gewähren.

```
function signinCallback(authResult) {
     // Add the apple's id token to the Amazon Cognito credentials login map.
     AWS.config.credentials = new AWS.CognitoIdentityCredentials({
        IdentityPoolId: 'IDENTITY_POOL_ID',
        Logins: {
           'appleid.apple.com': authResult['id_token']
        }
     });

     // Obtain AWS credentials
     AWS.config.credentials.get(function(){
        // Access AWS resources here.
     });
}
```