Exigences
Pour utiliser l’UI de Lock ou votre propre UI au moyen de la bibliothèque Auth0.Android, le niveau d’API Android minimal requis est 21+ et la version de Java doit être 8 ou plus récente. Vous aurez aussi besoin d’une application Auth0 de type “Native”. Voici ce qu’il vous faut dansbuild.gradle pour cibler le bytecode Java 8 pour les plugins Android et Kotlin, respectivement.
Installation
Lock est disponible sur Maven Central. Pour commencer à utiliser Lock, ajoutez ces lignes à votre fichier de dépendancesbuild.gradle :
implementation 'com.auth0.android:lock:3.+'
Vous pouvez consulter la version la plus récente dans le README du dépôt ou sur Maven.
Après avoir ajouté votre dépendance Gradle, n’oubliez pas de synchroniser votre projet avec les fichiers Gradle.
Paramètres du Dashboard
Vous devez définir quelques paramètres dans votre Auth0 Dashboard avant de commencer.URL de rappel
Allez dans votre , puis ouvrez les paramètres de l’application. Ajoutez l’URL suivante aux Allowed Callback URLs de l’application :https://{yourDomain}/android/{yourAppPackageName}/callback
Remplacez {yourAppPackageName} par le véritable nom de package de votre application, que vous trouverez dans votre fichier app/build.gradle sous la valeur applicationId.
Keystores et hachages de clés
Les applications Android doivent être signées avant de pouvoir être installées sur un appareil. Pour ce faire, l’IDE Android Studio génère, à sa première exécution, un « Android Debug Keystore » par défaut qu’il utilisera pour signer les versions de développement. Ce Keystore sera probablement différent de celui de votre version de production, puisqu’il servira à vous identifier en tant que développeur. Lors de l’utilisation de la fonctionnalité Web Authentication (c.-à-d. les connexions sociales), Lock sera configuré par défaut pour tenter d’utiliser Android App Links. Cela nécessite un paramètre supplémentaire dans le Dashboard de l’application Auth0. Utilisez notre guide Android Keystores et hachages de clés pour terminer cette étape.Implémentation de Lock (Social, Database, Enterprise)
Les instructions suivantes portent sur l’implémentation de Classic Lock pour Android. Si vous cherchez plutôt à implémenter Lock pour Android, consultez Lock.Android: Passwordless.Configurer le SDK
Dans votre fichierapp/build.gradle, ajoutez les espaces réservés du manifeste pour les propriétés Auth0 Domain et Auth0 Scheme, qui seront utilisées en interne par la bibliothèque pour enregistrer un intent-filter capturant le résultat de l’authentification.
strings.xml sous forme de ressources de chaînes auxquelles le code pourra faire référence plus tard. Ce guide suivra cette pratique.
Utilisation du SDK
Dans l’activité où vous prévoyez appeler Lock, créez une instance deAuth0 avec les renseignements de votre application. La façon la plus simple de la créer consiste à lui passer un Context Android. Cela utilisera 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 avec les mêmes clés que celles indiquées ci-dessus.
AuthenticationCallback qui gérera les événements d’authentification des utilisateurs. L’objet Credentials renvoyé en cas d’authentification réussie contiendra les jetons que votre application ou votre API utilisera ensuite. Consultez Tokens pour plus de détails.
onDestroy de votre activité est un bon endroit pour le faire.
Lock à partir de votre activité.
Android App Links - schéma personnalisé
Le schéma d’URI de rappel utilisé dans cet article, et par défaut par Lock, esthttps. Cela fonctionne mieux sur Android Marshmallow (API 23) et les versions ultérieures si vous utilisez Android App Links. Toutefois, sur les versions antérieures d’Android, la boîte de dialogue du sélecteur d’intention peut s’afficher et inviter l’utilisateur à choisir soit votre application, soit le navigateur pour traiter 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 personnalisé unique afin que le système d’exploitation ouvre directement le lien dans votre application.
- Mettez à jour la valeur de l’espace réservé
auth0Schemedans le fichierapp/build.gradle, ou directement dans la définition d’Intent Filter du fichierAndroidManifest.xml, en remplaçant le schéma actuel par le nouveau. - Mettez à jour les « Allowed Callback URLs » dans les paramètres de votre Application du Auth0 Dashboard afin qu’elles correspondent à des URL qui commencent par le nouveau schéma.
- Appelez
withScheme()lors de la configuration de Lock avec le builder, en lui passant le schéma que vous souhaitez utiliser.
La valeur du schéma doit être entièrement en minuscules. Un message d’avertissement sera consigné dans le log si ce n’est pas le cas, et l’authentification ne se terminera jamais.
Configuration de Lock
Pour consulter la liste complète des options de configuration de Lock, consultez Lock.Android : Configuration.Messages d’erreur
Si votre callback reçoit uneAuthenticationException, vous pouvez consulter le code source pour voir comment identifier chaque scénario d’erreur.