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 malhonnête. Apple n'a pas de support officiel pour Sign in with Apple sur Android, donc la solution est légèrement malhonnête.
Android utilise actuellement une fenêtre de Chrome pour afficher un site Web OAuth2. Cette approche présente les défis :
- Configuration difficile
- Un serveur backend est requis
Comprendre le flux sur Android.
Sous-titre “Comprendre le flux sur Android.”Laissez-moi 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 au courant des défis et du flux, commençons la configuration.
Créer l'ID du service
Section intitulée « Créer l'ID du service »-
Se connecter à Portail du développeur Apple.
-
Cliquez sur
Identifiers.
Vous devriez voir une page qui ressemble à ceci :
- Assurez-vous que ce champ dit
App IDs - Assurez-vous que vous pouvez trouver votre ID d'application.
- Assurez-vous que ce champ dit
-
Assurez-vous que la
Sign in with Applecapacité est activée pour votre application- Cliquez sur votre application
- Assurez-vous que la
Sign in with Applecapacité est activée
- Si elle ne l'est pas, activez-la.
- Cliquez sur votre application
-
Retournez à tous
All Identifiers
-
Cliquez sur
App Idset allez àServices IDs
-
Créer un nouveau identifiant
-
Cliquez sur le bouton plus
-
Sélectionner
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 de service créé récemment
-
Activer l'
Sign in with Appleoption
-
Configurer le
Sign In with Apple
-
Assurez-vous que
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 cliquer
Done
-
Cliquez sur
Continue
-
Cliquez sur
Save
-
Création de la clé
Section intitulée “Création de la clé”-
Retourner à tous les
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, et appuyez sur
Save
-
Cliquez sur
Continue
-
Cliquez sur
Register
-
Copiez l'ID de la clé et téléchargez la clé.
-
Trouvez la clé téléchargée et enregistrez-la dans le dossier arrière-plan.
Obtenir l'ID d'équipe
Sous-section intitulée « Obtenir l'ID d'équipe »Pour utiliser Login with Apple sur Android, vous devez obtenir le Team IDIl sera utilisé dans l'arrière-plan.
-
Allez sur ce site web et faites défiler vers le bas
-
Trouvez la localisation de l'ID d'équipe dans le compte de développeur
Team ID
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 Cela nécessite des modifications manuelles dans votre application. Redirect back to the appModifier le
- Ouvrez le fichier, je vais utiliser
AndroidManifest.xml-
Fichier AndroidManifest.xml dans Android Studio
AndroidStudio
-
et ajoutez le filtre d'intention suivant
MainActivityFiltre d'intention __CAPGO_KEEP_0__ à ajouter dans MainActivity
<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 pour 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 affectera également l'IOS. Un exemple de backend est fourni L'exemple fournit les éléments suivants :
Une base de données JSON simple
- 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 env ce section ressemblerait :
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"}En utilisant le plugin
Section intitulée « En utilisant le plugin »L'utilisation de la login La fonction ne change pas, c'est la même chose que sur IOS. Veuillez consulter cette section pour plus d'informations. Cependantla initialize méthode change un peu.
await SocialLogin.initialize({ apple: { clientId: 'ee.forgr.io.ionic.starter.service2', redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback' }})Créer l'application
Section intitulée “Créer 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 de l'application
-
Activer
Sign with Applecapacité
-
Cliquez
Continue
-
Confirmer les détails et cliquez
Register