Apple-Anmeldung auf Android
Eine Einrichtungsvorschlag mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Apple-Login auf Android ist umständlich. Apple bietet offiziell keine Unterstützung für Sign in with Apple auf Android, daher ist die Lösung etwas umständlich.
Android verwendet derzeit einen Chrome-Tab, um eine OAuth2-Website anzuzeigen. Diese Vorgehensweise hat die Herausforderungen:
- Schwierige Konfiguration
- Eine Backend-Instanz ist erforderlich
Das Verständnis des Flusses auf Android.
Abschnitt mit dem Titel “Das 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.
Erstellung der Dienst-ID
Abschnitt mit dem Titel “Erstellung der Dienst-ID”-
Anmelden in das Apple-Entwicklerportal.
-
Klicken Sie auf
Identifiers.
Sie sollten eine Seite sehen, die wie folgt aussieht:
- Stellen Sie sicher, dass dieses Feld
App IDs - Stellen Sie sicher, dass Sie Ihr App-ID finden können.
- Stellen Sie sicher, dass dieses Feld
-
Stellen Sie sicher, dass
Sign in with AppleDie Funktion ist für Ihre App aktiviert- Klicken Sie auf Ihre App
- Stellen Sie sicher, dass
Sign in with AppleDie Funktion ist aktiviert
- 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 einen neuen Identifikator
-
Klicken Sie auf die Plus-Taste
-
Auswählen
Servcice IDsund klicken SieContinue
-
Beschreiben Sie eine Beschreibung und Identifikatoren und klicken Sie
Continuie.
-
Bitte überprüfen Sie die Details und klicken Sie
Register
-
Klicken Sie auf die neu erstellte Dienstleistungs-ID
-
Aktivieren Sie die
Sign in with AppleOption
-
Konfigurieren Sie die
Sign In with Apple
-
Stellen Sie sicher, dass
Primary App IDauf die App-ID festgelegt ist, 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 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
-
Ihre Schlüsselbezeichnung angeben
-
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 es zu verwenden Login with Apple auf Android benötigen Sie die Team ID. Es wird im Backend verwendet.
-
Gehe zu dieser Website und scroll down
-
Finden Sie die
Team ID
Die App-umleitung konfigurieren
Abschnitt: Die App-umleitung konfigurierenWie Sie im Diagramm sehen können, führt der Backend einen Schritt namens Redirect back to the appdurch. Dies erfordert manuelle Änderungen an Ihrer App.
- Ändern Sie den
AndroidManifest.xml-
Öffnen Sie das Datei, ich werde
AndroidStudio
-
Finden Sie das
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“Für Android ist ein Backend erforderlich, aber die Konfiguration eines Backends wird auch den IOS-Einfluss beeinflussen. Ein Beispiel-Backend wird hier bereitgestellt hier
Dieses Beispiel bietet folgendes:
- Ein einfaches JSON-Datenbank
- Eine Möglichkeit, den JWT von Apples Servern anzufordern
- Eine einfache JWT-Verifizierung
Sektion so aus: env = Dienst-ID
ANDROID_SERVICE_ID= App-IDIOS_SERVICE_IDZwischenablage kopieren
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"}__CAPGO_KEEP_0__
Abschnitt mit dem Titel „Mit dem Plugin arbeiten“Die Verwendung des login Funktion ändert sich nicht, sie ist gleich wie bei IOS. Bitte haben Sie einen Blick in diese Abschnitt für weitere Informationen. 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: Die App erstellen-
Wenn Sie noch keinen App-Id haben, klicken Sie auf die Plus-Taste
-
Wählen Sie
App IDsund klicken Sie auf Weiter
-
Auswählen und klicken Sie auf
Appund klicken Sie auf WeiterContinue
-
Beschreibung und App-ID eingeben
-
Aktivieren
Sign with AppleFähigkeit
-
Klicken
Continue
-
Bestätigen Sie die Details und klicken Sie
Register