Native Applications

You'll need to create a Native Application if you want to integrate Auth0 with mobile, desktop, or hybrid apps that run natively on devices using Android, iOS, Windows, macOS, and so on.

Navigate to the dashboard and click on the Applications menu option on the left. Clicking the + Create Application button.

The Create Application window opens. Set a descriptive name for your application and select Native.

Create Application window

After you set the name and application type, click Create.

A new Native application will be created and you will be redirected to this application's view that has the four tabs described below.

Quick Start

The Quick Start tab shows all the available examples for Native applications.

Addons

Add-ons are extensions associated with applications. They are typically third-party APIs used by the application(s) for which Auth0 generates Access Tokens. For more details refer to: Addons.

Connections

Connections are sources of users. They are categorized into Database, Social and Enterprise and can be shared among different applications. For more details refer to: Connections. For a detailed list on the supported Identity Providers refer to: Identity Providers Supported by Auth0.

Settings

  • Name: The name of your application. This information is editable and you will see in the portal, emails, logs, and so on.

  • Domain: Your Auth0 tenant name. Note that the domain name is chosen when you create a new Auth0 tenant and cannot be changed. If you need a different one you have to register for a new tenant by selecting + Create Tenant in the top right menu.

  • Client ID: The unique identifier for your application. This is the ID you will use with when configuring authentication with Auth0. It is generated by the system when you create a new application and it cannot be modified.

  • Client Secret: A string used to sign and validate ID Tokens for authentication flows and to gain access to select Auth0 API endpoints. By default, the value is hidden, so check the Reveal Client Secret box to see this value.

    While the Client ID is considered public information, the Client Secret must be kept confidential. If anyone can access your Client Secret they can issue tokens and access resources they shouldn't.

  • Description: A free-text description of the Application's purpose with a maximum of 140 characters.

  • Application Logo: The URL to a logo (recommended size: 150x150 pixels) to be displayed for the application. This will appear in several areas, including the list of applications in the Dashboard, as well as things like customized consent forms.

  • Application Type: The type of application you are implementing. For desktop or mobile apps running natively on the device, you'll want to create a Native Application.
  • Allowed Callback URLs: Set of URLs to which Auth0 is allowed to redirect the users after they authenticate. You can specify multiple valid URLs by comma-separating them (typically to handle different environments like QA or testing). For production environments, verify that the URLs do not point to localhost. You can use the star symbol as a wildcard for subdomains (*.google.com). Make sure to specify the protocol, http:// or https://, otherwise the callback may fail in some cases.

  • Allowed Web Origins: List of URLs from where an authorization request, using web_message as the response mode, can originate from. You can specify multiple valid URLs by comma-separating them. For production environments, verify that the URLs do not point to localhost.

  • Allowed Logout URLs: After a user logs out from Auth0 you can redirect them with the returnTo query parameter. The URL that you use in returnTo must be listed here. You can specify multiple valid URLs by comma-separating them. For production environments, verify that the URLs do not point to localhost. You can use the star symbol as a wildcard for subdomains (*.google.com). Notice that querystrings and hash information are not taken into account when validating these URLs. Read more about this at: Logout.

  • Allowed Origins (CORS): Set of URLs that will be allowed to make requests from JavaScript to Auth0 API (typically used with CORS). This prevents same-origin policy errors when using Auth0 from within a web browser. By default, all your callback URLs will be allowed. This field allows you to enter other origins if you need to. You can specify multiple valid URLs by comma-separating them. For production environments, verify that the URLs do not point to localhost. You can use the star symbol as a wildcard for subdomains (*.google.com). Notice that paths, querystrings and hash information are not taken into account when validating these URLs (and may, in fact, cause the match to fail).

  • JWT Expiration (seconds): The amount of time (in seconds) before the Auth0 ID Token expires. The default value is 36000, which maps to 10 hours.

  • Use Auth0 instead of the IdP to do Single Sign On: If enabled, this setting prevents Auth0 from redirecting authenticated users with valid sessions to the identity provider (such as Facebook, ADFS, and so on).

Application Settings Page

Advanced Settings

The Advanced Settings section allows you to:

  • Manage or add Application Metadata, Mobile, OAuth, and WS-Federation settings
  • Obtain certificates and token endpoint information
  • Set the grant type(s) for the Application

Advanced Application Settings Page

Application Metadata

Application metadata are custom string keys and values (each of which has a character maximum of 255), set on a per application basis. Metadata is exposed in the Application object as client_metadata, and in Rules as context.clientMetadata

You can create up to 10 sets of metadata.

OAuth

Set the OAuth-related settings on this tab:

  • By default, all apps/APIs can make a delegation request, but if you want to explicitly grant permissions to selected apps/APIs, you can do so in Allowed APPs/APIs.

  • Set the algorithm used (HS256 or RS256) for signing your JSON Web Tokens.

  • Toggle the switch to indicate if your application is OIDC Conformant or not.

Mobile Settings

If you're developing a mobile application, you can provide the necessary iOS/Android parameters here.

When developing iOS apps, you'll provide your Team ID and App Bundle Identifier.

When developing Android apps, you'll provide your App Package Name and your Key Hashes.