Apple-Login auf Android
Eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Apple-Login auf Android ist hacky. Apple bietet offiziell keine Unterstützung für Sign in with Apple Apple-Login auf Android ist hacky. Apple bietet keine offizielle Unterstützung für
Android verwendet derzeit ein Chrome-Tabs, um eine OAuth2-Website anzuzeigen. Diese Vorgehensweise hat die Herausforderungen:
- Schwierige Konfiguration
- Ein Backend ist erforderlich
Verständnis des Flusses auf Android
Verständnis des Flusses auf Android.Lassen Sie mich ein Diagramm verwenden, um den Fluss 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) Nachdem Sie sich der Herausforderungen und des Flusses bewusst sind, beginnen wir mit der Konfiguration.
Dienst-ID erstellen
Abschnitt: 'Dienst-ID erstellen'-
Anmelden in das Apple Developer Portal.
-
Klicken Sie auf
Identifiers.
Sie sollten eine Seite sehen, die wie folgt aussieht:
- Stellen Sie sicher, dass dieses Feld lautet
App IDs - Stellen Sie sicher, dass Sie Ihre App-ID finden können.
- Stellen Sie sicher, dass dieses Feld lautet
-
Stellen Sie sicher, dass die
Sign in with AppleFunktion für Ihre App- 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
-
Gehen Sie zurück zu allen
All Identifiers
-
Klicken Sie auf
App Idsund gehen Sie zuServices IDs
-
Erstellen Sie einen neuen Identifikator
-
Klicken Sie auf die Plus-Schaltfläche
-
Auswählen
Servcice IDsund klickenContinue
-
Beschreiben Sie eine Beschreibung und einen Identifikator und klicken Sie
Continuie.
-
Bitte überprüfen Sie die Details und klicken
Register
-
Klicken Sie auf die neu erstellte Dienst-ID
-
Aktivieren Sie die
Sign in with AppleOption
-
Konfigurieren Sie die
Sign In with Apple
-
Stellen Sie sicher, dass die
Primary App IDwird auf die im vorherigen Schritt konfigurierte App-ID festgelegt
-
Fügen Sie die Domain hinzu, auf der Sie Ihren Backend-Server hosten werden.
-
Bestätigen Sie die Daten und klicken Sie
Done
-
Klicken Sie auf
Continue
-
Klicken Sie auf
Save
-
Erstellung der Schlüssel
Abschnitt mit dem Titel „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
-
Wählen Sie den primären App ID, und drücken Sie
Save
-
Klicken Sie auf
Continue
-
Klicken Sie auf
Register
-
Kopieren Sie die Schlüssel-ID und laden Sie den Schlüssel herunter.
-
Finden Sie das heruntergeladene Schlüssel und speichern Sie es im Backend-Ordner.
Team-ID erhalten
Abschnitt mit dem Titel „Team-ID erhalten“Um Login with Apple auf Android zu verwenden, müssen Sie die Team ID. Es wird im Backend verwendet.
-
Zum besuchen Sie diese Website und scrollen Sie nach unten
-
Finde die
Team ID
Konfiguration der App-Überleitung
Sektion mit dem Titel “Konfiguration der App-Überleitung”Wie du im Diagramm sehen kannst, führt der Backend einen Schritt aus, der Redirect back to the apperfordert manuelle Änderungen an deiner App.
- Ändere den
AndroidManifest.xml-
Öffne das Datei, ich werde
AndroidStudio
-
Finde die
MainActivityund füge 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 das
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 Hintergrund ist für Android erforderlich, aber die Konfiguration eines Hintergrunds wird auch den IOS-Einfluss beeinflussen. Ein Beispiel für einen Hintergrund wird Zum Beispiel
Dieses Beispiel bietet folgendes:
- Ein einfaches JSON-Datenbank-Beispiel
- Auswahlmöglichkeit, um den JWT von Apples Servern zu erhalten
- Einfache JWT-Verifizierung
Gegeben alles, was ich in diesem Tutorial gesagt habe, hier ist, wie die env Sektion 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 von login Die Funktion ändert sich nicht, sie ist gleich wie bei IOS. Bitte haben Sie einen Blick in diese Abschnitt für weitere Informationen. ALLERDINGS, der initialize Methode ändert sich ein bisschen.
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 den Typ
Appund klickenContinue
-
Beschreibung und App-ID eingeben
-
Aktivieren
Sign with AppleFähigkeit
-
Klicken
Continue
-
Details bestätigen und klicken
Register
Bleib weiter bei Apple-Login auf Android
Abschnitt mit dem Titel “Bleib weiter bei Apple-Login auf Android”Wenn Sie Apple-Login auf Android für die Planung der Authentifizierung und der Kontoflows verwenden, verbinden Sie es mit Mit @capgo/capacitor-social-login für die native Fähigkeit in Mit @capgo/capacitor-social-login, @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login, @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric, und Zweifaktor-Authentifizierung für die Implementierungsdetails in Zweifaktor-Authentifizierung.