> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Découvrez comment installer, initialiser et utiliser Auth0.Android

# Auth0.Android

Auth0.Android est une bibliothèque côté client que vous pouvez utiliser avec votre application Android pour authentifier les utilisateurs et accéder aux [API Auth0](/docs/fr-ca/api).

Consultez le [dépôt Auth0.Android](https://github.com/auth0/Auth0.Android) sur GitHub.

<div id="requirements">
  ## Exigences
</div>

Android API version 21 ou plus récente est requise.

<div id="installation">
  ## Installation
</div>

Ajoutez le SDK à votre projet. La bibliothèque effectuera des requêtes aux API d’authentification et de gestion d’Auth0.

<div id="add-auth0-to-gradle">
  ### Ajouter Auth0 à Gradle
</div>

Dans la section `dependencies` du fichier `build.gradle` de votre application, ajoutez ce qui suit :

```kotlin lines theme={null}
dependencies {
  // Ajouter le SDK Android Auth0
  implementation 'com.auth0.android:auth0:4.0.0'
}
```

Si Android Studio signale une erreur concernant le signe `+`, ou si vous souhaitez utiliser une version précise, consultez la plus récente dans [Maven](https://central.sonatype.com/artifact/com.auth0.android/auth0).

<Card title="Synchroniser le projet avec Gradle">
  N'oubliez pas de synchroniser à l'aide de l'invite d'Android Studio ou d'exécuter `./gradlew clean build` depuis la ligne de commande.
</Card>

Dans la section `android`, ciblez le bytecode Java 8 pour les plugins Android et Kotlin, respectivement.

```kotlin lines theme={null}
android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
  kotlinOptions {
    jvmTarget = '1.8'
  }
}
```

<div id="permissions">
  ### Autorisations
</div>

Ouvrez le fichier `AndroidManifest.xml` de votre application et ajoutez l’autorisation suivante.

```text lines theme={null}
<uses-permission android:name="android.permission.INTERNET" />
```

<div id="configure-for-universal-login">
  ## Configurer pour Universal Login
</div>

D’abord, accédez à [Dashboard > Applications](https://manage.auth0.com/#/applications) et cliquez sur le nom de l’application que vous souhaitez modifier. Dans **Allowed Callback URLs**, assurez-vous que votre URL respecte ce format :
`https://YOUR_DOMAIN/android/{YOUR_APP_PACKAGE_NAME}/callback`

Ensuite, remplacez `{YOUR_APP_PACKAGE_NAME}` par le véritable nom de package de votre application. Vous le trouverez dans votre fichier `app/build.gradle`, à la valeur `applicationId`.

Puis, dans votre fichier `app/build.gradle`, ajoutez les [espaces réservés du manifeste](https://developer.android.com/build/manage-manifests) pour les propriétés Auth0 Domain et Auth0 Scheme, que la bibliothèque utilisera pour enregistrer un intent-filter qui capture l’URI de rappel.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Si vous ne prévoyez pas utiliser la fonctionnalité Web Authentication ni déclarer les espaces réservés du manifeste, vous pouvez redéclarer manuellement l’activité dans le fichier manifeste de votre application Android afin de la retirer du fichier manifeste fusionné. Cela empêchera Gradle de signaler l’absence des espaces réservés du manifeste.

  Veuillez [consulter la FAQ](https://github.com/auth0/auth0.android/blob/main/FAQ.md) pour en savoir plus.
</Callout>

```kotlin lines theme={null}
apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    defaultConfig {
        applicationId "com.auth0.samples"
        minSdkVersion 21
        targetSdkVersion 30
        //...

        //---> Ajouter la ligne suivante
        manifestPlaceholders = [auth0Domain: "@string/com_auth0_domain", auth0Scheme: "https"]
        //<---
    }
    //...
}
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  C'est une bonne pratique de définir des ressources réutilisables comme `@string/com_auth0_domain` au lieu de les coder en dur.
</Callout>

<div id="initialize-auth0">
  ## Initialiser Auth0
</div>

Créez un nouvel objet `Auth0` à l’aide de votre <Tooltip tip="ID client : valeur d’identification attribuée par Auth0 à votre ressource enregistrée." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=client+ID">ID client</Tooltip> Auth0 et de la valeur du domaine. Les objets s’en serviront plus tard pour interagir avec les points de terminaison d’Auth0.

```kotlin lines theme={null}
val auth0 = Auth0("{yourClientId}", "YOUR_DOMAIN")
```

Vous pouvez aussi initialiser cet objet à l’aide d’un Context Android, comme dans [cet exemple d’utilisation](https://github.com/auth0/Auth0.Android/tree/master#usage).

<div id="next-steps">
  ## Prochaines étapes
</div>

[Connectez les utilisateurs à votre application et déconnectez-les](/docs/fr-ca/libraries/auth0-android/auth0-android-login-logout-and-user-profiles) à l’aide de la classe `WebAuthProvider`.

<div id="reset-user-password">
  ### Réinitialiser le mot de passe de l’utilisateur
</div>

Pour lancer la réinitialisation du mot de passe d’un utilisateur, appelez `resetPassword` en lui passant l’adresse courriel de l’utilisateur et le nom de la connexion de base de données en paramètres.

Les requêtes de réinitialisation du mot de passe échouent en cas d’erreur liée au réseau, mais pas si l’adresse courriel indiquée n’existe pas dans la base de données (pour des raisons de sécurité).

<div id="learn-more">
  ## En savoir plus
</div>

* [Auth0.Android Connexion, déconnexion et profils utilisateur](/docs/fr-ca/libraries/auth0-android/auth0-android-login-logout-and-user-profiles)
* [Auth0.Android Options de configuration](/docs/fr-ca/libraries/auth0-android/auth0-android-configuration)
* [Auth0.Android Authentification par base de données](/docs/fr-ca/libraries/auth0-android/auth0-android-database-authentication)
* [Auth0.Android Authentification sans mot de passe](/docs/fr-ca/libraries/auth0-android/auth0-android-passwordless)
* [Auth0.Android : Gestion des utilisateurs](/docs/fr-ca/libraries/auth0-android/auth0-android-user-management)
