Mit Apple anmelden als Identitätspool-IdP einrichten - Amazon Cognito

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

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 für Entwickler.

Einrichten von „Mit Apple anmelden“

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.

  2. Melden Sie sich mit Ihren Apple-Anmeldeinformationen an.

  3. Wählen Sie im linken Navigationsbereich Zertifikate IDs und Profile aus.

  4. Wählen Sie im linken Navigationsbereich Kennungen aus.

  5. Wählen Sie auf der Seite Kennungen das Symbol + aus.

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

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

    1. Geben Sie unter Beschreibung eine Beschreibung ein.

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

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

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

    5. Klicken Sie auf Continue.

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

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

  10. Wählen Sie auf der Seite Identifikatoren das IDsApp-Menü und dann Dienste IDs aus. Klicken Sie auf das Pluszeichen (+).

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

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

    1. Geben Sie unter Beschreibung eine Beschreibung ein.

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

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

    4. 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 den Rückruf einURLs, URL an den die Autorisierung den Benutzer weiterleitet, nachdem er sich über Sign in with Apple authentifiziert hat.

    5. Wählen Sie Weiter.

    6. Wählen Sie Weiter und dann Registrieren aus.

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

  14. Klicken Sie auf der Seite Schlüssel auf das Symbol +.

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

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

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

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

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

Informationen zur Integration von „Mit Apple anmelden“ in eine andere Plattform als natives iOS finden Sie unter Anmelden mit Apple JS.

Konfigurieren des externen Anbieters in der Amazon-Cognito-Verbundidentitäten-Konsole

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 aus. Wählen Sie einen Identitätspool.

  2. Wählen Sie die Registerkarte Datenzugriff aus.

  3. Wählen Sie Identitätsanbieter hinzufügen aus.

  4. Wählen Sie Mit Apple anmelden.

  5. Geben Sie die Services-ID des OAuth Projekts ein, das Sie mit Apple Developer erstellt haben. Weitere Informationen finden Sie unter Authentifizieren von Benutzern mit „Mit Apple anmelden“ in der Dokumentation zu „Mit Apple anmelden“ .

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

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

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

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

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

  8. Wählen Sie Änderungen speichern aus.

Melden Sie sich in den Amazon Cognito Cognito-Beispielen für föderierte Identitäten bei Apple als Anbieter an CLI

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.

Erstellen Sie eine Amazon-Cognito-Identität-ID

In diesem Beispiel wird eine Amazon-Cognito-ID generiert (oder abgerufen). Dies ist öffentlich, Sie benötigen API also keine Anmeldeinformationen, um dies aufzurufen. API

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

Weitere Informationen finden Sie unter get-id.

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. Dies ist öffentlich, Sie benötigen API also keine Anmeldeinformationen, um dies aufzurufenAPI.

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

Weitere Informationen finden Sie unter get-credentials-for-identity

„Mit Apple anmelden“ verwenden: Android

Apple bietet keine App anSDK, die die Anmeldung mit Apple für Android unterstützt. Sie können stattdessen den Webflow in einer Webansicht verwenden.

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

Apple hat SDK Unterstützung für Sign In with Apple in nativen iOS-Anwendungen bereitgestellt. Um die Benutzerauthentifizierung mit „Mit Apple anmelden“ in nativen iOS-Geräten zu implementieren, folgen Sie Implementieren der Benutzerauthentifizierung mit „Mit Apple anmelden“ 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

Apple hat SDK Unterstützung für Sign In with Apple in nativen iOS-Anwendungen bereitgestellt. Um die Benutzerauthentifizierung mit „Mit Apple anmelden“ in nativen iOS-Geräten zu implementieren, folgen Sie Implementieren der Benutzerauthentifizierung mit „Mit Apple anmelden“ 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“.

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

Apple bietet keine App anSDK, die die Anmeldung mit Apple für unterstützt JavaScript. Sie können stattdessen den Webflow in einer Webansicht verwenden.

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. }); }

„Mit Apple anmelden“ verwenden: Xamarin

Wir haben keineSDK, die die Anmeldung mit Apple für Xamarin unterstützt. Sie können stattdessen den Webflow in einer Webansicht verwenden.

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.

Sobald Sie das Token erhalten haben, können Sie es in Ihren CognitoAWSCredentials einrichten:

credentials.AddLogin("appleid.apple.com", token);