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 umständlich. Apple bietet keine offizielle Unterstützung für Sign in with Apple auf Android, daher ist die Lösung leicht umständlich.
Android verwendet derzeit ein 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.“Ich möchte 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) Da Sie nun die Herausforderungen und den Ablauf kennen, können wir mit der Konfiguration beginnen.
Erstellung der Dienst-ID
Abschnitt "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 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 es nicht aktiviert ist, aktivieren Sie es.
- Klicken Sie auf Ihre App
-
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-Taste
-
Auswählen
Servcice IDsund klicken SieContinue
-
Eingeben Sie eine Beschreibung und einen Identifikator und klicken Sie
Continuie.
-
Bitte überprüfen Sie die Details und klicken Sie auf
Register
-
Klicken Sie auf den neu erstellten Service
-
Aktivieren Sie die
Sign in with AppleOption
-
Konfigurieren Sie
Sign In with Apple
-
Stellen Sie sicher, dass der
Primary App IDauf die im vorherigen Schritt konfigurierte App-ID festgelegt ist
-
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
-
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 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 den Schlüssel herunter.
-
Finden Sie das heruntergeladene Schlüssel 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 für Android zu verwenden, müssen Sie die Team ID Es wird im Backend verwendet.
-
Gehe zu Diese Website und scrollen Sie nach unten
-
Finden Sie die
Team ID
Konfigurieren Sie die App-Weiterleitung
Abschnitt mit dem Titel „Konfigurieren Sie die App-Weiterleitung“Wie Sie im Diagramm sehen können, führt der 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
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 den
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);}
-
Backend-Konfiguration
Abschnitt mit dem Titel „Backend-Konfiguration“Ein Backend ist für Android erforderlich, aber die Konfiguration eines Backends wird auch auf IOS Auswirkungen haben. Ein Beispiel-Backend ist hier verfügbar Ein Beispiel-Backend ist hier verfügbar.
Dieses Beispiel bietet folgendes:
- Ein einfacher JSON-Datenbank
- Eine Möglichkeit, den JWT von Apple's Servern abzurufen
- Eine einfache JWT-Verifizierung
Abschnitt aussehen würde: env __CAPGO_KEEP_0__
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, sie ist gleich wie bei IOS. Bitte nehmen Sie einen Blick in diesen Abschnitt, um mehr zu erfahren. 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' }})Die App erstellen
Abschnitt mit dem Titel „Die App erstellen“-
Wenn Sie keinen App-Id besitzen, klicken Sie auf die Plus-Taste
-
Auswählen
App IDsund klicken Sie auf Weiter
-
Klicken Sie auf Typ
Appund klicken SieContinue
-
Beschreibung und App-ID eingeben
-
Aktivieren
Sign with AppleFähigkeit
-
Klicken
Continue
-
Bestätigen Sie die Details und klicken Sie
Register
Fortsetzen Sie von Apple-Login auf Android
Abschnitt mit dem Titel “Fortsetzen Sie von Apple-Login auf Android”Wenn Sie die Verwendung von Apple-Login auf Android zum Planen der Authentifizierung und der Kontoflows verbinden, verbinden Sie es mit Verwendung von @capgo/capacitor-social-login für die native Fähigkeit in Verwendung von @capgo/capacitor-social-login, Verwendung von @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login, Verwendung von @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-Passkey @capgo/capacitor-native-biometrische für die Implementierungsdetails in @capgo/capacitor-native-biometrische, und Zweifaktor-Authentifizierung für die Implementierungsdetails in Zweifaktor-Authentifizierung.