Auth0.Android

Auth0.Android is a client-side library you can use with your Android app to authenticate users and access Auth0 APIs.

Check out the Auth0.Android repository on GitHub.

Requirements

Android API version 21 or newer is required.

Installation

Add the SDK into your project. The library will make requests to Auth0's Authentication and Management APIs.

Add Auth0 to Gradle

In your app's build.gradle dependencies section, add the following:

dependencies {
  // Add the Auth0 Android SDK
  implementation 'com.auth0.android:auth0:2.+'
}

Was this helpful?

/

If Android Studio lints the + sign, or if you want to use a fixed version, check for the latest in Maven or JCenter.

Sync project with Gradle

Remember to synchronize using the Android Studio prompt or run ./gradlew clean build from the command line. For more information about Gradle usage, check their official documentation.

In the android section, target Java 8 byte code for Android and Kotlin plugins respectively.

android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
  kotlinOptions {
    jvmTarget = '1.8'
  }
}

Was this helpful?

/

Permissions

Open your application's AndroidManifest.xml file and add the following permission.

<uses-permission android:name="android.permission.INTERNET" />

Was this helpful?

/

Configure for Universal Login

First, go to Dashboard > Applications and click the name of the application you want to edit. In Allowed Callback URLs, make sure your URL follows this format: https://YOUR_DOMAIN/android/{YOUR_APP_PACKAGE_NAME}/callback

Next, replace {YOUR_APP_PACKAGE_NAME} with your actual application's package name. You can find this in your app/build.gradle file as the applicationId value.

Then, in your app/build.gradle file, add the Manifest Placeholders for the Auth0 Domain and the Auth0 Scheme properties, which the library will use to register an intent-filter that captures the callback URI.

apply plugin: 'com.android.application'

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

        //---> Add the next line
        manifestPlaceholders = [auth0Domain: "@string/com_auth0_domain", auth0Scheme: "https"]
        //<---
    }
    //...
}

Was this helpful?

/

Initialize Auth0

Create a new Auth0 object using your Auth0 client ID and domain value. Objects will later use this when interacting with Auth0's endpoints.

val auth0 = Auth0("YOUR_CLIENT_ID", "YOUR_DOMAIN")

Was this helpful?

/

You can also initialize this object using an Android Context, as shown in this usage example.

Next steps

Log users in and out of your application using the WebAuthProvider class.

Reset user password

To initiate a password reset for a user, call resetPassword with the user's email address and the database connection name as parameters.

Password reset requests will fail on network-related errors, but will not fail if the designated email does not exist in the database (for security reasons).

Learn more