Apple-Login auf Android
Kopiere eine Setup-Anleitung mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
Apple-Login auf Android ist umständlich. Apple bietet keine offizielle Unterstützung für Android, daher ist die Lösung etwas umständlich. Sign in with Apple Android verwendet derzeit einen Chrome-Tab, um eine OAuth2-Website anzuzeigen. Diese Methode hat die Herausforderungen:
Schwierige Konfiguration
- Ein Backend ist erforderlich
- Verständnis des Flusses auf Android.
Abschnitt mit dem Titel „Verständnis des Flusses auf Android.“
Apple-Login auf Android ist umständlich. Apple bietet keine offizielle Unterstützung für Android, daher ist die Lösung etwas umständlich.Lasst 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)
Nachdem Sie sich der Herausforderungen und des Flusses bewusst sind, beginnen wir mit der Konfiguration.
Erstellung der Dienst-ID
Abschnitt mit der Überschrift „Erstellung der Dienst-ID“-
Anmeldung im Apple-Entwicklerportal.
-
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 Ihr App-ID finden können.
- Stellen Sie sicher, dass dieses Feld lautet
-
Stellen Sie sicher, dass die
Sign in with Applefür Ihre App aktiviert ist.- Klicken Sie auf Ihre App
- Stellen Sie sicher, dass die
Sign in with Applefür Ihre App 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 zuServices IDs
-
Erstellen Sie eine neue Identifikator
-
Klicken Sie auf die Plus-Taste
-
Auswählen
Servcice IDsund klicken SieContinue
-
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 das
Sign In with Apple
-
Stellen Sie sicher, dass der
Primary App IDist auf die App-ID eingestellt, die im vorherigen Schritt konfiguriert wurde
-
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“-
Gehen Sie 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 die primäre App-ID aus und drücken Sie
Save
-
Klicken Sie auf
Continue
-
Klicken Sie auf
Register
-
Kopieren Sie die Schlüssel-ID und laden Sie die Schlüssel herunter.
-
Finden Sie das heruntergeladene Schlüsseldokument und speichern Sie es im Backend-Ordner.
Ermitteln Sie die Team-ID
Abschnitt mit dem Titel „Ermitteln Sie die Team-ID“Um Login with Apple auf Android zu verwenden, müssen Sie die Team IDerhalten. Sie wird im Backend verwendet.
-
Gehe zu dieser Website und scrolliere nach unten
-
Finde die
Team ID
Konfiguration der App-Überleitung
Abschnitt mit dem Titel „Konfiguration der App-Überleitung“Wie Sie im Diagramm sehen, führt der Backend einen Schritt aus, der Redirect back to the appdies erfordert manuelle Änderungen an Ihrer App.
- Ändere das
AndroidManifest.xml-
Öffne das Datei, ich werde
AndroidStudio
-
Finde das
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>
-
- Ändere das
MainActivity-
Bitte öffne das
MainActivity
-
Füge 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);}
-
Backend-Konfiguration
Abschnitt mit dem Titel "Backend-Konfiguration"Ein Backend ist für Android erforderlich, aber die Konfiguration eines Backends wird auch den IOS-Einfluss beeinflussen. Ein Beispiel-Backend wird bereitgestellt hier
Dieses Beispiel bietet folgendes:
- Ein einfacher JSON-Datenbank
- Eine Möglichkeit, den JWT von Apples Servern zu erhalten
- Eine einfache JWT-Verifizierung
Gegeben alles, was ich in diesem Tutorial gesagt habe, hier ist, wie man das env Abschnitt würde so aussehen:
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"}Verwendung des Plugins
Abschnitt mit dem Titel „Verwendung des Plugins“Die Verwendung der login Funktion ändert sich nicht, es ist dieselbe wie bei IOS. Bitte nehmen Sie einen Blick auf diesen Abschnitt, um mehr Informationen zu erhalten. ALLERDINGS, die initialize Methode ändert sich ein bisschen.
await SocialLogin.initialize({ apple: { clientId: 'ee.forgr.io.ionic.starter.service2', redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback' }})Erstellung der App
Abschnitt mit dem Titel „Erstellung der App“-
Wenn Sie noch keinen App-Id haben, klicken Sie auf die Plus-Taste
-
Auswählen
App IDsund klicken Sie auf Fortsetzen
-
Klicken Sie auf den Typ
Appund klicken 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
Fortsetzen von Apple-Login auf Android
Abschnitt mit dem Titel “Fortsetzen von Apple-Login auf Android”Wenn Sie die Verwendung von Apple-Login auf Android zur Planung der Authentifizierung und der Kontoflows verwenden, verbinden Sie es mit Verwendung von @capgo/capacitor-social-login Für die native Fähigkeit in Verwendung von @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 Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.