Exigences
Pour utiliser l’interface utilisateur de Lock ou votre propre interface utilisateur via la Auth0.Android library (Bibliothèque Auth0.Android), le niveau d’API Android minimum requis est 21+ et Java version 8 ou supérieure. Vous aurez également besoin d’une application Auth0 de type « Native ». Voici le nécessaire dansbuild.gradle
pour cibler le code à 8 octets pour les plugiciels Android et Kotlin respectivement.
Installation
Lock est disponible dans Maven Central. Pour commencer à utiliser Lock, ajoutez ces lignes à votre fichier de dépendancesbuild.gradle
:
implémentation « com.auth0.android:lock:3.+ »
Vous pouvez vérifier la dernière version sur le référentiel Readme ou dans Maven.
N’oubliez pas de synchroniser votre projet avec les fichiers Gradle après avoir ajouté votre dépendance Gradle.
Paramètres du tableau de bord
Avant de commencer, vous devez remplir quelques paramètres dans votre Auth0 Dashboard (Tableau de bord Auth0).URL de rappel
Accédez à votre tableau de bord Auth0 et aux paramètres de l’application. Ajoutez l’URL suivante à l’application URL de rappel autorisées :https://{yourDomain}/android/{yourAppPackageName}/callback
Remplacez {yourAppPackageName}
par le nom du package réel de votre application, disponible dans votre fichier app/build.gradle
comme valeur applicationId
.
Keystores et empreintes de clés
Les applications Android doivent être signées avant de pouvoir être installées sur un appareil. Pour cela, l’IDE Android Studio génère, lors de sa première exécution, un « Android Debug Keystore » par défaut qu’il utilisera pour signer les builds de développement. Ce Keystore (Magasin de clés) sera probablement différent pour votre version de production, car il sera utilisé pour vous identifier en tant que développeur. Lorsque vous utilisez la fonction d’authentification Web (c’est-à-dire les connexions sociales), Lock sera configuré par défaut pour tenter d’utiliser les liens d’application Android. Cela nécessite un paramètre supplémentaire dans le tableau de bord de l’application Auth0. Utilisez notre Android Keystores and Key Hashes Guide (Guide des magasins de clés et des hachages de clés Android) pour compléter cette étape.Mise en œuvre de Lock (réseau social, base de données, entreprise)
Les instructions suivantes décrivent la mise en œuvre de Classic Lock pour Android. Si vous souhaitez implémenter spécifiquement Lock pour Android (Lock sans mot de passe pour Android), veuillez consulter Lock.Android : Sans mot de passe.Configuration de la trousse SDK
Dans votre fichierapp/build.gradle
ajoutez les paramètres fictifs Manifest Placeholders pour les propriétés Auth0 Domain et Auth0 Scheme, qui vont être utilisés en interne par la bibliothèque pour enregistrer un « filtre d’intention » qui capture le résultat de l’authentification.
strings.xml
en tant que ressources de chaîne qui peuvent être référencées ultérieurement à partir du code. Ce guide suivra cette pratique.
Utilisation de la trousse SDK
Dans l’activité où vous prévoyez d’invoquer Lock, créez une instance deAuth0
avec les informations de votre application. Le moyen le plus simple de le créer est de transmettre un contexte Android. Cela prendra en compte les valeurs définies précédemment dans le fichier strings.xml
. Pour que cela fonctionne, les ressources de chaîne doivent être définies à l’aide des mêmes clés que celles répertoriées ci-dessus.
AuthenticationCallback (Rappel d’authentification)
qui gérera les événements d’authentification des utilisateurs. L’objet Credentials (Informations d’identification)
renvoyé dans les scénarios d’authentification réussis contiendra les jetons que votre application ou API finira par consommer. Veillez consulter Tokens (Jetons) pour plus de détails.
onDestroy
.
Lock
à l’intérieur de votre activité.
Liens vers les applications Android – Schéma personnalisé
Le schéma d’URI de rappel utilisé dans cet article et par défaut par Lock esthttps
. Cela fonctionne mieux pour Android Marshmallow (API 23) ou version plus récente si vous utilisez Android App Links (Liens vers les applications Android), mais dans les versions Android précédentes, cela peut afficher la boîte de dialogue de sélection d’intention invitant l’utilisateur à choisir soit votre application, soit le navigateur pour résoudre l’intention. C’est ce qu’on appelle la « boîte de dialogue de désambiguïsation ». Vous pouvez modifier ce comportement en utilisant un schéma unique personnalisé afin que le système d’exploitation ouvre le lien directement avec votre application.
- Mettez à jour la valeur de l’espace réservé au Manifest
auth0Scheme
dans le fichierapp/build.gradle
ou directement dans la définition du filtre d’intention dans le fichierAndroidManifest.xml
en remplaçant le schéma existant par le nouveau. - Mettez à jour les « URL de rappel autorisées » dans les paramètres de votre application Auth0 Dashboard pour qu’elles correspondent aux URL qui commencent par le nouveau schéma.
- Appelez
withScheme()
lors de la configuration de Lock avec le monteur, en passant le schéma que vous voulez utiliser.
La valeur du schéma doit être en minuscules. Un message d’avertissement sera enregistré si ce n’est pas le cas et l’authentification n’aboutira pas.
Configuration de Lock
Pour une liste complète des options de configuration de Lock, veillez consulter Lock.Android : Configuration.Messages d’erreur
Pour obtenir une description des messages d’erreur courants, veuillez consulter la page Error Messages (Messages d’erreur). De plus, si votre rappel reçoit uneAuthenticationException (Exception d’authentification)
vous pouvez vérifier source pour apprendre à identifier chaque scénario d’erreur.