Using Auth0 in your applications means that you will be "outsourcing" the authentication process to a centralized login page in the same way that Gmail, YouTube, and any other Google property redirects to accounts.google.com whenever a user signs in.
Your user will authenticate, and Auth0 will generate an ID Token and Access Token that will be passed back to your application. The Access Token can then be used to call your API.
In a native/mobile application, the default experience will open a SafariViewController in iOS or a Custom Chrome Tab in Android.
When your app needs to fetch user data from your API:
- If the user is not already authenticated, our SDK redirects the user to your Auth0 Authorization Server.
- The user authenticates with Auth0 using one of your configured login options (e.g., username/password, social identity provider, SAML).
- Your app requests an ID Token, Access Token, and Refresh Token.
- Auth0 responds with the requested tokens.
- The Access Token can be used to call your API and retrieve requested data.
For security in native/mobile devices, Auth0 uses the Authorization Code Flow with Proof Key for Code Exchange (PKCE).
1
Configure your API
Once you have created your API, you will need to configure any scopes that applications can request during authorization.
2
Get an Access Token
Your app requests an Access Token (and optionally, a Refresh Token) from your Auth0 Authorization Server using the
Authorization Code Flow with PKCE.
3
Call your API
When your app calls your API, it includes the retrieved Access Token in the HTTP Authorization header.
4
Refresh your Access Token
When the Access Token expires you can use the Refresh Token to get a new one from your Auth0 Authorization Server.
The easiest way to implement the Authorization Code Flow with PKCE is to follow our Mobile/Native Quickstarts.
You can also use our mobile SDKs:
Finally, to use our API endpoints, you can follow our tutorial: Call Your API Using the Authorization Code Flow with PKCE.
Keep reading
Guides
Step-by-step instructions for tasks
References
API endpoints, libraries, and best practices
Concepts
Understand the fundamentals