Apple-Login auf Android
Einen Setup-Befehl mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Die Apple-Authentifizierung auf Android ist hackig. Apple bietet keine offizielle Unterstützung für Sign in with Apple auf Android, also ist die Lösung etwas umgangssprachlich.
Android verwendet derzeit einen Chrome-Tab, um eine OAuth2-Website anzuzeigen. Diese Methode hat die Herausforderungen:
- Schwierige Konfiguration
- Ein Backend ist erforderlich
Verstehe den Ablauf auf Android.
Abschnitt mit dem Titel “Verstehe den Ablauf auf Android.”Lass mich ein Diagramm verwenden, um den Ablauf auf Android zu erklären:
flowchart TD
A("await SocialLogin.login()") -->|Handled in the plugin|B(Generate the login URL)
B --> |Pass the link| C(Open the Chrome browser)
C --> D(Wait for the user to login)
D --> |Apple redirects to your backend|E(Handle the data returned from Apple)
E --> F(Redirect back to the app)
F --> G(Return to JS)
Da du nun die Herausforderungen und den Ablauf kennst, beginnen wir mit der Konfiguration.
Erstellung der Dienst-ID
Abschnitt mit dem Titel “Erstellung der Dienst-ID”-
Anmelden bei dem Apple-Entwicklerportal.
-
Klicken Sie auf
Identifiers.
Sie sollten eine Bildschirmansicht sehen, die wie folgt aussieht:
- Stellen Sie sicher, dass dieses Feld lautet
App IDs - Stellen Sie sicher, dass Sie Ihr App-ID finden können.
- Stellen Sie sicher, dass dieses Feld lautet
-
Stellen Sie sicher, dass die
Sign in with AppleFähigkeit für Ihre App aktiviert ist- Klicken Sie auf Ihre App
- Stellen Sie sicher, dass die
Sign in with AppleFunktion aktiviert ist
- Wenn sie nicht aktiviert ist, aktivieren Sie sie.
- Klicken Sie auf Ihre App
-
Zurück zu allen
All Identifiers
-
Klicken Sie auf
App Idsund gehen Sie zurServices IDs
-
Erstellen Sie ein neues Identifikatoren
-
Klicken Sie auf den Plus-Button
-
Auswählen
Servcice IDsund klickenContinue
-
Beschreibung und Identifikatoren eingeben und klicken
Continuie.
-
Bitte überprüfen Sie die Details und klicken Sie auf
Register
-
Klicken Sie auf die neu erstellte Service
-
Aktivieren Sie die
Sign in with AppleOption
-
Konfigurieren Sie die
Sign In with Apple
-
Stellen Sie sicher, dass sich die
Primary App IDauf die im vorherigen Schritt konfigurierte App-ID einstellt
-
Fügen Sie die Domain hinzu, auf der Sie Ihren Backend-Server hosten werden.
-
Bestätigen Sie die Daten und klicken Sie auf
Done
-
Klicken Sie auf
Continue
-
Klicken Sie auf
Save
-
Das Erstellen der Schlüssel
Schritt zur Erstellung der Schlüssel-
Zurück zu allen
All Identifiers
-
Klicken Sie auf
Keys
-
Klicken Sie auf das Plus-Symbol
-
Benennen Sie Ihren Schlüssel
-
Auswählen
Sign in with Appleund klickenConfigure
-
Auswählen Sie die primäre App-ID und drücken Sie
Save
-
Klicken Sie auf
Continue
-
Klicken Sie auf
Register
-
Copy the key ID and download the key.
-
Finden Sie den heruntergeladenen Schlüssel und speichern Sie ihn im Backend-Ordner.
Ermitteln Sie die Team-ID
Abschnitt mit dem Titel „Ermitteln Sie die Team-ID“Um es zu verwenden Login with Apple auf Android, benötigen Sie das Team IDEs wird im Backend verwendet.
-
Gehe zu dieser Website und scrolliere nach unten
-
Finde die
Team ID
Konfiguration der App-Redirect
Abschnitt mit dem Titel „Konfiguration der App-Redirect“Wie Sie im Diagramm gesehen haben, führt das Backend einen Schritt aus, der Redirect back to the appdies erfordert manuelle Änderungen an Ihrer App.
- Ändern Sie das
AndroidManifest.xml-
Öffnen Sie das Datei, ich werde __CAPGO_KEEP_0__ verwenden
AndroidStudio
-
Finden Sie die
MainActivityund fügen Sie den folgenden Intent-Filter hinzu
<intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="capgo-demo-app" android:host="path" /></intent-filter>
-
- Ändern Sie das
MainActivity-
Bitte öffnen Sie die
MainActivity
-
Fügen Sie den folgenden code hinzu:
@Overrideprotected void onNewIntent(Intent intent) {String action = intent.getAction();Uri data = intent.getData();if (Intent.ACTION_VIEW.equals(action) && data != null) {PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");if (pluginHandle == null) {Log.i("Apple Login Intent", "SocialLogin login handle is null");return;}Plugin plugin = pluginHandle.getInstance();if (!(plugin instanceof SocialLoginPlugin)) {Log.i("Apple Login Intent", "SocialLogin plugin instance is not SocialLoginPlugin");return;}((SocialLoginPlugin) plugin).handleAppleLoginIntent(intent);return;}super.onNewIntent(intent);}
-
Hintergrundkonfiguration
Abschnitt mit dem Titel „Hintergrundkonfiguration”Ein Backend ist für Android erforderlich, aber die Konfiguration eines Backends wirkt sich auch auf IOS aus. Ein Beispiel-Backend wird bereitgestellt hier
Dieses Beispiel bietet folgendes:
- Ein einfaches JSON-Datenbank
- Eine Möglichkeit, den JWT von Apples Servern anzufordern
- Eine einfache JWT-Verifizierung
Gegeben alles, was ich in diesem Tutorial gesagt habe, hier ist, wie die env Abschnitt aussehen würde:
ANDROID_SERVICE_ID= Dienst-IDIOS_SERVICE_ID= App-ID
env: { PRIVATE_KEY_FILE: "AuthKey_U93M8LBQK3.p8", KEY_ID: "U93M8LBQK3", TEAM_ID: "UVTJ336J2D", ANDROID_SERVICE_ID: "ee.forgr.io.ionic.starter.service2", IOS_SERVICE_ID: "me.wcaleniewolny.test.ionic.vue", PORT: 3000, REDIRECT_URI: "https://xyz.wcaleniewolny.me/login/callback", BASE_REDIRECT_URL: "capgo-demo-app://path"}Mit dem Plugin
Abschnitt mit dem Titel „Mit dem Plugin“Die Verwendung der login Funktion ändert sich nicht, es ist dasselbe wie bei IOS. Bitte haben Sie einen Blick in diese Abschnitt für weitere Informationen. ALLERDINGS, die initialize sollte sich ein bisschen ändern.
await SocialLogin.initialize({ apple: { clientId: 'ee.forgr.io.ionic.starter.service2', redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback' }})Die App erstellen
Abschnitt mit dem Titel „Die App erstellen“-
Wenn Sie noch keinen App-Id haben, klicken Sie auf die Plus-Taste
-
Auswählen
App IDsund klicken Sie auf weiter
-
Klicken Sie auf Typ
Appklicken SieContinue
-
Geben Sie die Beschreibung und die App-Id ein
-
Aktivieren
Sign with AppleFähigkeit
-
Klicken
Continue
-
Bestätigen Sie die Details und klicken Sie
Register
Weitermachen von Apple-Login auf Android
Abschnitt mit dem Titel „Weitermachen von Apple-Login auf Android“Wenn Sie die Apple-Login-Funktion auf Android verwenden Apple-Authentifizierung auf Android um Authentifizierung und Account-Flüsse zu planen, verbinden Sie es mit Verbinden Sie es mit @capgo/capacitor-social-login für die native Fähigkeit in Verwendung von @capgo/capacitor-social-login, @capgo/capacitor-Social-Login für die Implementierungsdetail in @capgo/capacitor-social-login, @capgo/capacitor-Passkey für die Implementierungsdetail in @capgo/capacitor-passkey, @capgo/capacitor-native-biometrisch für die Implementierungsdetail in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung für die Implementierungsdetail in Zwei-Faktor-Authentifizierung.