Connexion Apple sur Android
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
L'authentification Apple sur Android est un peu hackeuse. Apple n'a pas officiellement de support pour Sign in with Apple L'authentification Apple sur Android est un peu hackeuse car Apple n'a pas officiellement de support pour
Android utilise actuellement une fenêtre de navigateur Chrome pour afficher un site Web OAuth2. Cette approche présente les défis suivants :
- Configuration difficile
- Un serveur est requis
Comprendre le flux sur Android.
Comprendre le flux sur Android.Expliquez-moi comment utiliser un diagramme pour expliquer le flux sur Android :
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)
Maintenant que vous êtes conscient des défis et du flux, commençons la configuration.
Création de l'ID de service
Section intitulée « Création de l'ID de service »-
Connectez-vous au Portail du développeur Apple.
-
Cliquez sur
Identifiers.
Vous devriez voir une page qui ressemble à ceci :
- Assurez-vous que ce champ indique
App IDs - Vérifiez que vous pouvez trouver votre ID d'application.
- Assurez-vous que ce champ indique
-
capability
Sign in with AppleCliquez sur votre application- Sélectionnez votre application dans la liste
- capability
Sign in with Appleest activée pour votre application
- Si elle n'est pas activée, activez-la.
- Sélectionnez votre application dans la liste
-
Retournez à tous les identifiants
All Identifiers
-
Cliquez sur
App Idset allez àServices IDs
-
Créez un nouveau identifiant
-
Cliquez sur le bouton plus
-
Sélectionnez
Servcice IDset cliquezContinue
-
Entrez une description et des identifiants et cliquez
Continuie.
-
Veuillez vérifier les détails et cliquez sur
Register
-
Cliquez sur le Service ID créé récemment
-
Activer l'
Sign in with Appleoption
-
Configurez la
Sign In with Apple
-
Assurez-vous que le
Primary App IDest défini sur l'ID d'application configuré dans l'étape précédente
-
Ajoutez le domaine sur lequel vous allez héberger votre backend.
-
Confirmer les données et cliquez sur
Done
-
Cliquez sur
Continue
-
Cliquez sur
Save
-
Création de la clé
Section intitulée “Création de la clé”-
Retournez à tous
All Identifiers
-
Cliquez sur
Keys
-
Cliquez sur l'icône plus
-
Nommez votre clé
-
Sélectionnez
Sign in with Appleet cliquezConfigure
-
Sélectionnez l'ID d'application principal, puis appuyez
Save
-
Cliquez sur
Continue
-
Cliquez sur
Register
-
Copiez l'ID de la clé et téléchargez la clé.
-
Trouvez le fichier téléchargé et enregistrez-le dans le dossier backend.
Obtention de l'ID d'équipe
Sous-section intitulée « Obtention de l'ID d'équipe »Pour utiliser Login with Apple sur Android, vous devez obtenir le Team IDCela sera utilisé dans le backend.
-
Allez à ce site web et faites défiler vers le bas
-
Trouvez la
Team ID
Configuration de la redirection de l'application
Section intitulée « Configuration de la redirection de l'application »Comme vous l'avez vu dans le diagramme, le backend effectue une étape appelée Redirect back to the appCela nécessite des modifications manuelles dans votre application.
- Modifier le
AndroidManifest.xml-
Ouvrez le fichier, je vais utiliser
AndroidStudio
-
Trouvez le
MainActivityet ajoutez le filtre d'intent suivant
<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>
-
- Modifier le
MainActivity-
Veuillez ouvrir le fichier MainActivity.java dans Android Studio
MainActivity
-
code à ajouter à MainActivity pour gérer les liens profonds
@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);}
-
Configuration backend
Section intitulée « Configuration backend »Un backend est requis pour Android, mais la configuration d'un backend impactera également IOS. Un exemple de backend est fourni ici
Cet exemple fournit les éléments suivants :
- Une base de données JSON simple
- Une méthode pour demander le JWT auprès des serveurs d'Apple
- Une vérification JWT simple
Étant donné tout ce que j'ai dit dans ce tutoriel, voici comment procéder env La section ressemblerait à ceci :
ANDROID_SERVICE_ID= ID de serviceIOS_SERVICE_ID= ID d'application
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"}Utilisation du plugin
Section intitulée « Utilisation du plugin »L'utilisation de la login ne change pas, c'est la même chose que pour IOS. Veuillez consulter cette section pour plus d'informations. Cependant, la initialize change un peu.
await SocialLogin.initialize({ apple: { clientId: 'ee.forgr.io.ionic.starter.service2', redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback' }})Création de l'application
Section intitulée « Création de l'application »-
Si vous n'avez pas encore d'ID d'application, cliquez sur le bouton plus
-
Sélectionner
App IDset cliquez sur Continuer
-
Cliquez sur le type
Appet cliquezContinue
-
Entrez la description et l'ID d'application
-
Activer
Sign with Applecapacité
-
Cliquez
Continue
-
Confirmez les détails et cliquez
Register
Continuez de la connexion Apple sur Android
Section intitulée “Continuez de la connexion Apple sur Android”Si vous utilisez La connexion Apple sur Android pour planifier l'authentification et les flux de compte, connectez-l’avec En utilisant @capgo/capacitor-social-login pour la capacité native en utilisant @capgo/capacitor-social-login, @capgo/capacitor-social-login pour le détail d'implémentation en @capgo/capacitor-social-login, @capgo/capacitor-passkey pour les détails d'implémentation dans @capgo/capacitor-passkey @capgo/capacitor-native-biometric pour les détails d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour les détails d'implémentation dans Authentification à deux facteurs.