# Get Started
Source: https://auth0.com/docs/get-started
Learn the basics and begin building your authentication solution.
2. Go to the **Permissions** tab and enter a permission name and description for the permission you want to add. Be sure not to use any reserved permission names (see Reserved names section).
3. Click **Add**. Remember that individual Applications may need permissions and/or scopes updated to interact properly with the API.
## Use the Management API
| Value | Description |
|---|---|
API\_ID |
ID of the API for which you want to delete permissions. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope update:resource\_servers. |
PERMISSION\_NAME |
Name(s) of the permission(s) you want to keep for the specified API. |
PERMISSION\_DESC |
User-friendly description(s) of the permission(s) you want to keep for the specified API. |
| Policy | Description | Access Flow |
|---|---|---|
Allow |
When configured for an API, any application in your tenant can get an access token to the API. No specific grant is required. | The default for user access when you create an API. You can only configure `allow_all` for user access. |
Allow via client-grant |
When configured for an API, only applications with a client grant defined can get an access token for the API. The client grant establishes the maximum permissions an application can request from the API. To learn more about how to create and manage client grants, read Application Access to APIs: Client Grants. | The default for the Client Credentials Flow when you create an API. |
Deny |
When configured for an API, no application can get an access token to the API, regardless of any other settings or grants. Access is completely restricted. | You can configure deny\_all for both user and client access. |
| Parameter | Description |
|---|---|
API\_ID |
ID of the API for which you want to update the token dialect. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope update:resource\_servers. |
TOKEN\_DIALECT |
Dialect of the access token for the specified API. To learn more, read Token dialect options. |
| Value | Description |
|---|---|
access\_token |
The default Auth0 token profile generates an access token formatted as a JSON Web Token (JWT). To learn more, read Access Token Profiles. |
access\_token\_authz |
The default Auth0 token profile (access\_token) with the permissions claim. To learn more about RBAC permissions, read Enable Role-Based Access Control for APIs. |
rfc9068\_profile |
The RFC 9068 token profile generates an access token formatted as a JWT following the IETF JWT Profile for OAuth 2.0 Access Tokens (RFC 9068). To learn more, read Access Token Profiles. |
rfc9068\_profile\_authz |
The RFC 9068 profile (rfc9068\_profile) with the permissions claim. To learn more about RBAC permissions, read Enable Role-Based Access Control for APIs. |
| Parameter | Required? | Description |
|---|---|---|
apiName |
Required | The name of your new API. |
apiIdentifier |
Required | The unique identifier for your API. This will be used as your token audience. |
credentialName |
Optional | The name for your public key. |
pem |
Required | Public key encoded in PEM format. |
alg |
Required | The encryption algorithm must be either RSA-OAEP-256, RSA-OAEP-384, or RSA-OAEP-512. |
kid |
Optional | The identifier used to write to the kid header in your JWE token. This can be used to identify the key used for encryption during key rotation. |
| Field | Description | Example |
|---|---|---|
type |
Specifies the type of authorization request:
|
urn:auth0:schemas:authorization-details:v1:user-profile |
instruction |
A human-readable message to the user approving the request. | Please approve the request. |
properties |
A JSON object containing the specific user attributes or claims being requested. Each key (e.g., email, full\_name) represents a particular user profile field:
|
`"properties": { "stringPropertyForDisplay": { "display": true, "name": "A String:", "display_order": "1", "value": "Value 1"} }` |
| Flow | Push notification sent | Behavior |
|---|---|---|
| Any | No | The customized consent prompt is shown. |
| Authorization Code Flow with PAR | Yes |
No consent prompt is shown. The consent must be shown on the mobile application that receives the push notification challenge. If the Auth0 Guardian app is used, it will automatically display the `authorization_details` to the user. If a custom mobile app is used, the `authorization_details` can be retreived using the Auth0 Guardian SDK. |
| Client-Initiated Backchannel Authentication Flow | Yes |
If the Auth0 Guardian App is being used to authorize the CIBA request, the `authorization_details` will be fetched automatically and displayed. If a custom mobile app is used to authorize the CIBA request, the `authorization_details` can be retreived using the Auth0 Guardian SDK. If the CIBA request is being authorized using a web link (e.g. from an email), then the customized consent prompt will be shown. Customers may choose to trigger a push notification as a second factor for the CIBA request when the user is approving it by a web link, in which case the behavior is the same as above. The Auth0 Guardian app automatically displays the `authorization_details` to the user again, while custom mobile apps can choose to retrieve the `authorization_details` using the Auth0 Guardian SDK. |
| Flow | Push notification sent | Behaviour |
|---|---|---|
| Authorization Code Flow with PAR | No | The customized consent prompt is shown. |
| Authorization Code Flow with PAR | Yes |
No consent prompt is shown. The customer solution must show the consent using their own user interface. Auth0 will allocate a unique ID for the request and expose it to the Post-Login Action as `event.transaction.linking_id` along with the `event.transaction.requested_authorization_details`. If the Auth0 Guardian App is used, the `authorization_details` will NOT be displayed. If a custom mobile app is used, the push notification will include the `linking_id`, allowing application builders to retrieve the `authorization_details` from their own APIs if required. |
| Client-Initiated Backchannel Authentication Flow | Any | CIBA flow is not supported with `transactional-authorization-with-mfa` consent policy |
| Value | Description |
|---|---|
API\_ID |
ID of the API for which you want to delete permissions. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope update:resource\_servers. |
PERMISSION\_NAME |
Name(s) of the permission(s) you want to keep for the specified API. |
PERMISSION\_DESC |
User-friendly description(s) of the permission(s) you want to keep for the specified API. |
| Parameter | Description |
|---|---|
API\_ID |
ID of the API for which you want to enable RBAC. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope update:resource\_servers. |
TOKEN\_DIALECT |
Dialect of the access token for the specified API. To learn more, read Token dialect options. |
| Value | Description |
|---|---|
access\_token |
The Auth0 default token profile generates an access token formatted as a JSON Web Token (JWT). In the scope claim of the access token, includes an intersection of the requested permissions and the permissions assigned to the user. No permissions claim is passed. To learn more, read Access Token Profiles. |
access\_token\_authz |
The Auth0 default token profile (access\_token) with the permissions claim. In the scope claim of the access token, includes an intersection of the requested permissions and the permissions assigned to the user. In the permissions claim of the access token, includes all permissions assigned to the user. Allows you to make minimal calls to retrieve permissions, but increases token size. |
rfc9068\_profile |
The RFC 9068 token profile generates an access token formatted as a JWT following the IETF JWT Profile for OAuth 2.0 Access Tokens (RFC 9068). In the scope claim of the access token, includes an intersection of the requested permissions and the permissions assigned to the user. No permissions claim is passed. To learn more, read Access Token Profiles. |
rfc9068\_profile\_authz |
The RFC 9068 token profile (rfc9068\_profile) with the permissions claim. In the scope claim of the access token, includes an intersection of the requested permissions and the permissions assigned to the user. In the permissions claim of the access token, includes all permissions assigned to the user. Allows you to make minimal calls to retrieve permissions, but increases token size. |
| Scope | Claims |
|---|---|
openid |
(required) Returns the sub claim, which uniquely identifies the user. In an ID Token, iss, aud, exp, iat, and at\_hash claims will also be present. To learn more about the ID Token claims, read ID Token Structure. |
profile |
Returns claims that represent basic profile information, including name, family\_name, given\_name, middle\_name, nickname, picture, and updated\_at. |
email |
Returns the email claim, which contains the user's email address, and email\_verified, which is a boolean indicating whether the email address was verified by the user. |
| Access type | subject\_type attribute | Description |
|---|---|---|
| Client credential access (Machine-to-machine access) | Set subject\_type to client. |
The client grant directly authorizes the application to access the API on its own behalf instead of the end user’s behalf. The permissions you define in the client grant are the ones the application is authorized to receive in the access token. |
| User access | Set subject\_type to user. |
The client grant defines the maximum permissions the application can request from the API. The final permissions in the access token issued to the application on the user’s behalf are the intersection of the permissions:
To learn more about user access flows, read Authentication and Authorization Flows. User access flows do not include the Client Credentials Flow. |
| Attribute | Description |
|---|---|
id |
Unique identifier of the client grant. |
audience |
Unique identifier of the API the client grant is for. |
client\_id |
The unique ID of the application that is being granted access. |
scopes |
An array of strings representing the permissions the application can request. |
authorization\_details\_types |
An array of strings representing rich authorization data types that the application can request. This attribute can only be specified for user access flows. |
subject\_type |
The type of application access the client grant allows for:
|
allow\_all\_scopes |
Boolean. Indicates if all scopes defined on the API are allowed for the application. Future defined scopes, for the API, are automatically permitted. |
organization\_usage |
Determines how the application may use organizations when accessing the API via the Client Credentials Flow. Possible values are: deny, allow, or require.To learn more about the Organization settings, read Organizations for M2M Applications: Define Organization Behavior. |
allow\_any\_organization |
Determines whether the application can access any organization when using the Client Credentials Flow. To learn more about the Organization settings, read Organizations for M2M Applications: Define Organization Behavior. |
| Grant Type | Description |
|---|---|
implicit |
Implicit Grant |
authorization\_code |
Authorization Code Grant |
client\_credentials |
Client Credentials Grant |
password |
Resource Owner Password Grant |
refresh\_token |
Use Refresh Tokens |
urn:ietf:params:oauth:grant-type:device\_code |
Device Authorization Grant |
| Scope | Endpoint |
|---|---|
read:current\_user |
List or search users |
| Get a user | |
| Get user MFA enrollments | |
update:current\_user\_metadata |
Update a user |
| Delete a user's multi-factor provider | |
create:current\_user\_device\_credentials |
Create a device public key |
delete:current\_user\_device\_credentials |
Delete a device credential |
update:current\_user\_identities |
Link a user account |
| Unlink a user identity |
| Value | Description |
|---|---|
YOUR\_CLIENT\_ID |
Τhe ID of the application to be updated. |
YOUR\_MANAGEMENT\_API\_ACCESS\_TOKEN |
Access Tokens for the Management API with the update:clients. |
OWNERSHIP\_BOOLEAN |
The ownership you would like to specify for the application. If the application is first-party, is\_first\_party should have a value of true. If the application is third-party, is\_first\_party should have a value of false. |
| Value | Description |
|---|---|
YOUR\_CLIENT\_ID |
Τhe ID of the application to be updated. |
YOUR\_MANAGEMENT\_API\_ACCESS\_TOKEN |
Access Tokens for the Management API with the read:clients. |
| Application Type | Example | Token Endpoint Authentication Method |
|---|---|---|
| Public | Single-page or native | None |
| Confidential | Regular web or machine-to-machine | Basic, Post, Private Key JWT, Unspecified |
| Validation | fapi1\_adv\_pkj\_par |
fapi1\_adv\_mtls\_par |
fapi2\_sp\_pkj\_mtls |
fapi2\_sp\_mtls\_mtls |
|---|---|---|---|---|
Prevents the use of access tokens in the URL query when calling /userinfo. Access tokens must be placed in the Authorization header instead. |
Y | Y | Y | Y |
| Requires PAR. | Y | Y | Y | Y |
| Requires PKCE with the S256 challenge method. | Y | Y | Y | Y |
| Prevents the use of wildcards in the allowed callbacks on a client. | Y | Y | N | N |
| Enforces the use of JAR. | Y | Y | N | N |
| Ensures the JAR payload is signed using the PS256 algorithm. | Y | Y | N | N |
| Ensures the JAR payload contains the nbf claim and it is no longer than 60 minutes in the past. | Y | Y | N | N |
| Ensures the JAR payload contains the exp claim and that it is no more than 60 minutes after the nbf claim. | Y | Y | N | N |
Ensures the client has set the oidc\_conformant property to true. |
Y | Y | Y | Y |
Requires the use of x-fapi-\* headers |
Y | Y | N | N |
| Requires the use of Private Key JWT for client authentication. | Y | N | Y | N |
| Requires the use of mTLS for client authentication. | N | Y | N | Y |
| Allowed response types. | code id\_token |
code id\_token |
code | code |
Requires aud claim to strictly match issuer in Private Key JWT assertion. |
N | N/A | Y | N/A |
Requires redirect\_uri parameter in Pushed Authorization Requests. |
N | N | Y | Y |
| Auth0 updated behavior | fapi1\_adv\_pkj\_par |
fapi1\_adv\_mtls\_par |
fapi2\_sp\_pkj\_mtls |
fapi2\_sp\_mtls\_mtls |
|---|---|---|---|---|
| Adds s\_hash claim to ID tokens. | Y | Y | N | N |
When the profile scope is requested, the update\_at claim contains an OIDC Conformant unix timestamp rather than a string. |
Y | Y | Y | Y |
| Returns only OIDC conformant error codes. In some cases, Auth0 may return additional error codes, but enabling this compliance level ensures that Auth0 only uses error codes defined in the OpenID standards. | Y | Y | Y | Y |
Returns issuer as iss parameter in code responses. |
N | N | Y | Y |
| Reduces maximum lifetime of authorization code to 60 seconds. | N | N | Y | Y |
| Read... | To learn... |
|---|---|
| Set up your customer edge | How to set up your customer edge to validate your client certificate and forward requests to Auth0's edge network. |
| Configure mTLS for a client | How to configure mTLS authentication for your Auth0 application. |
| Configure mTLS for a tenant | How to configure mTLS authentication for your Auth0 tenant. |
| Parameter | Description |
|---|---|
algorithm |
Algorithm used to sign assertions. Supported values are RS256, RS384 and PS256. If not specified, the algorithm will default to RS256. |
clientName |
Name for your new client. |
credentialName |
Name for the public key. |
expires\_at |
Optional. Expiration date of the credential in ISO 8601 format. For example, 2020-08-20T19:10:06.299Z. Once the expiration date passes, the credential is no longer valid. |
managementApiAccessToken |
Access token for the Management API with the scope create:credentials. |
pem |
Public key, or x.509 certificate, encoded in PEM format. |
parse\_expiry\_from\_cert |
Optional. A boolean that indicates that Auth0 should parse the expiry when provided a certificate. If a certificate is not provided, Auth0 will return an error. parse\_expiry\_from\_cert and expires\_at are also mutually exclusive. In this case, Auth0 will return an error. |
| Parameter | Description |
|---|---|
algorithm |
Algorithm used to sign assertions. Supported values are RS256, RS384 and PS256. If not specified, the algorithm default is RS256. |
clientId |
ID of the application to be updated. |
credentialName |
Name of the public key. |
managementApiAccessToken |
Access token for the Management API with the scope create:credentials. |
pem |
Public key, or x.509 certificate, encoded in PEM format. |
expires\_at |
Optional. Expiration date of the credential in ISO 8601 format. For example, 2020-08-20T19:10:06.299Z. Once the expiration date passes, the credential is no longer valid. |
parse\_expiry\_from\_cert |
Optional. A boolean that indicates that Auth0 should parse the expiry when provided a certificate. If a certificate is not provided, Auth0 will return an error. parse\_expiry\_from\_cert and expires\_at are mutually exclusive. In this case, Auth0 will return an error. |
| Parameter | Description |
|---|---|
clientId |
ID of the application to be updated. |
managementApiAccessToken |
Access token for the Management API with the scope update:client and update:credentials. |
credentialId |
ID of the credential you created. |
pem |
The public key in PEM format. |
| Parameter | Description |
|---|---|
clientId |
ID of the updated application. |
managementApiAccessToken |
Access token for the Management API with the scopes update:client and update:credentials. |
tokenEndpointAuthMethod |
Final authentication method. For example: client\_secret\_basic or client\_secret\_post. |
| Parameter | Description |
|---|---|
managementApiAccessToken |
Access tokens for the Management API with the scopes update:credentials. |
clientId |
The client you want to update. |
expires\_at |
The expiration date of the credential in ISO 8601 format. For example, 2020-08-20T19:10:06.299Z. |
| Value | Description |
|---|---|
| Τhe ID of the application to be deleted. | |
MGMT\_API\_ACCESS\_TOKEN |
Access Tokens for the Management API with the scope delete:clients. |
| Value | Description |
|---|---|
| Τhe ID of the application to be updated. | |
MGMT\_API\_ACCESS\_TOKEN |
Access Tokens for the Management API with the scope update:client\_keys. |
| Parameter | Description |
|---|---|
clientId |
Application you want to update. |
credentialId1 |
ID for the existing credential in use. |
credentialId2 |
ID for the new credential. |
managementApiAccessToken |
Access token for the Management API with the scopes update:clients and update:credentials. |
| Parameter | Description |
|---|---|
clientId |
Application you want to update. |
credentialId |
ID for the old credential you want to delete. |
managementApiAccessToken |
Access token for the Management API with the scope delete:credentials. |
| Status | Code | Description |
|---|---|---|
400 |
invalid\_request |
Invalid request body. All and only of client\_id, credential\_type, username, otp, realm are required. |
400 |
unsupported\_credential\_type |
Unknown credential type parameter. |
400 |
invalid\_request |
Unknown realm non-existent-connection. |
401 |
unauthorized\_client |
Cross origin login not allowed. |
401 |
password\_leaked |
This login attempt has been blocked because the password you're using was previously disclosed through a data breach (not in this application). |
403 |
access\_denied |
Wrong email or password. |
403 |
access\_denied |
Authentication error |
403 |
blocked\_user |
Blocked user |
429 |
too\_many\_attempts |
Your account has been blocked after multiple consecutive login attempts. We've sent you a notification via your preferred contact method with instructions on how to unblock it. |
429 |
too\_many\_attempts |
We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator. |
| Value | Description |
|---|---|
| Τhe ID of the application to be updated. | |
MGMT\_API\_ACCESS\_TOKEN |
Access Tokens for the Management API with the scope update:clients. |
GRANT\_TYPES |
The grant types you would like to enable for the specified application. |
| Read... | To learn... |
|---|---|
| Auth0 Dashboard | About the Auth0 Dashboard and features you can access to implement authentication and authorization with your applications and APIs. |
| Create Tenants | How to create tenants using the Auth0 Dashboard or the Management API, explore creating multiple tenants and child tenants, and learn about setting up multiple environments. |
| Create Applications | How to set up and configure applications in the Auth0 Dashboard. |
| Register APIs | How to set up and configure APIs in the Auth0 Dashboard. |
| Settings Tab | Description |
|---|---|
| Quick Start | Shows all the available documentation for your application type. |
| Settings | Shows all available settings for your application. By default, most of the settings will be created for you. To learn more, read Application Settings. |
| Credentials | Shows the application’s authentication method and configured credentials. To learn more, read Application Credentials |
| Add-ons | Allows you to enable plugins associated with an application. These are SAML or WS-Fed web apps for which Auth0 generates access tokens. To learn more, read Enable SAML2 Web App Addon and Configure WS-Fed Applications. |
| Connections | Allows you to enable connections for your application. Connections are sources of users; they can be enabled and shared between multiple applications. To learn more, read Connections. |
| Organizations | Allows you to authenticate users into organizations to which they belong. To learn more, read Organizations. |
| Settings Tab | Description |
|---|---|
| Quick Start | Shows all the available examples for \$ applications. It also shows you how you can call your API using various technologies. To learn how to accept and validate Access Tokens in your API, see our Backend/API Quickstarts. |
| Settings | Shows all available settings for your application. By default, Auth0 creates most of these settings for you. |
| Credentials | Shows the application’s authentication method and configured credentials. To learn more, read Application Credentials |
| APIs | Allows you to authorize additional APIs for use with your Application. |
| Login Experience | Allows you to configure the login experience for users in your Organization. For more information, see [Understand How Auth0 Organizations Work](/docs/manage-users/organizations/organizations-overview#login-experience) |
| Settings Tab | Description |
|---|---|
| Quick Start | Shows all the available documentation for your application type. |
| Settings | Shows all available settings for your application. By default, most of the settings will be created for you. To learn more, read Application Settings. |
| Credentials | Shows the application’s authentication method and configured credentials. To learn more, read Application Credentials |
| Add-ons | Allows you to enable plugins associated with an application. Add-ons are primarily used for SAML or WS-Fed integrations and are typically not applicable to native applications. To learn more, read Enable SAML2 Web App Addon and Configure WS-Fed Applications. |
| Connections | Allows you to enable connections for your application. Connections are sources of users; they can be enabled and shared between multiple applications. To learn more, read Connections. |
| Organizations | Allows you to authenticate users into organizations to which they belong. To learn more, read Organizations. |
| Login Experience | Allows you to configure the login experience for users in your Organization. For more information, read [Understand how Auth0 Organizations Work](/docs/manage-users/organizations/organizations-overview#login-experience). |
| Settings Tab | Description |
|---|---|
| Quick Start | Shows all the available documentation for your application type. |
| Settings | Shows all available settings for your application. By default, most of the settings will be created for you. To learn more, read Application Settings. |
| Credentials | Shows the application’s authentication method and configured credentials. To learn more, read Application Credentials |
| Add-ons | Allows you to enable plugins associated with an application. These are SAML or WS-Fed web apps for which Auth0 generates access tokens. To learn more, read Enable SAML2 Web App Addon and Configure WS-Fed Applications. |
| Connections | Allows you to enable connections for your application. Connections are sources of users; they can be enabled and shared between multiple applications. To learn more, read Connections. |
| Organizations | Allows you to authenticate users into organizations to which they belong. To learn more, read Organizations. |
| Login Experience | Allows you to configure the login experience for users in your Organization. For more information, read [Understand how Auth0 Organizations Work](/docs/manage-users/organizations/organizations-overview#login-experience). |
| Settings Tab | Description |
|---|---|
| Quick Start | Shows all the available documentation for your application type. |
| Settings | Shows all available settings for your application. By default, most of the settings will be created for you. To learn more, read Application Settings. |
| Credentials | Shows the application’s authentication method and configured credentials. To learn more, read Application Credentials |
| Add-ons | Allows you to enable plugins associated with an application. These are typically used for SAML or WS-Fed integrations, which are not commonly needed for SPAs. To learn more, read Enable SAML2 Web App Addon and Configure WS-Fed Applications. |
| Connections | Allows you to enable connections for your application. Connections are sources of users; they can be enabled and shared between multiple applications. To learn more, read Connections. |
| Organizations | Allows you to authenticate users into organizations to which they belong. To learn more, read Organizations. |
| Login Experience | Allows you to configure the login experience for users in your Organization. For more information, read [Understand how Auth0 Organizations Work](/docs/manage-users/organizations/organizations-overview#login-experience). |
| Region | Locality | Sub-localities |
|---|---|---|
| Australia | AU | AU |
| Canada | CA | CA |
| Europe | EU | EU, EU-2 |
| Japan | JP | JP |
| United Kingdom | UK | UK |
| United States of America | US | US, US-3, US-4, US-5 |
| Section | Description |
|---|---|
| Applications | Manage your applications, APIs, and single sign-on (SSO) integrations. Applications: For each of your apps for which you want to authenticate users with Auth0, register an application. APIs: For each of your APIs that you want to secure with Auth0, register an API. Create new APIs and manage existing ones. SSO Integrations: View and enable external services for SSO. Create new SSO integrations and configure, review, and manage integration settings. |
| Authentication | Manage the identity providers through which you allow users to authenticate to your apps. Database: Securely store and manage identifier/password credentials either in an Auth0 datastore or in your own database. Connect to existing databases using template-based JavaScript scripts that run on Auth0's server during every authentication. Gradually migrate an existing database of legacy credentials to Auth0 as users authenticate (no password reset required). Social: Configure social identity providers (such as Facebook, X, and Github) through which your users can log in. Enterprise: Configure enterprise identity providers (such as Active Directory, SAML, and Office 365) through which your users can log in using their enterprise credentials. Passwordless: Allow your users to sign up and log in using one-time passcodes (delivered by email or SMS) or one-click links, instead of passwords. |
| Organizations | Manage the organizations you do business with, and customize the experience their users have when accessing your applications. |
| User Management | Manage your users' identities and permissions. Users: View and create user profiles, perform password resets, block and delete users, and more. Roles: Create and manage roles for your apps. Roles contain collections of permissions and can be assigned to users. |
| Branding | Universal Login: Create and customize a login page to which you can direct users to authenticate. Custom Domains: Create a custom domain to maintain a consistent experience for your users. Email Templates: Use templates to create welcome, password reset, and account verification email-based workflows. Email Provider: Designate and configure your custom email provider information. |
| Security | Configure extra layers of security by enabling shields that protect your users against different types of attacks and user access anomalies. Attack Protection: Manage settings for bot, IP throttling, brute-force, and breached password attacks. Multi-factor Auth: Require additional factors during the login process to prevent unauthorized access. Monitoring: Monitor threat intelligence events with one of our data visualization and alerting integrations. |
| Actions | Configure flows such as login, machine-to-machine, user registration, and password resets. Create and manage customized actions used in flows. |
| Auth Pipeline | Rules: Configure custom JavaScript snippets that are executed in Auth0 as part of each user authentication transaction. You can call external APIs, filter which users can log in to your application, use an AllowList, configure geolocated access, and so on. Hooks: Customize the behavior of Auth0 when you use Database Connections by configuring Node.js code that is executed against extensibility points (which are comparable to webhooks that come with a server). |
| Monitoring | Logs: View log data of actions taken in the dashboard by administrators and user logins. Streams: Create and manage log event streaming to external data analysis services. |
| Marketplace | Explore integrations that help your business do more with Auth0. |
| Extensions | Extend the Auth0 platform with official and third-party add-ons. |
| Settings | Configure your tenants, manage your Auth0 subscription and payment options, control your tenant administrators and other user roles. Manage other tenant settings related to your custom domains, signing keys, and other advanced settings. |
| Get Support | Go to our Support Center. If your plan does not have access to support services, see the Auth0 Community. |
| Field | Description | Example |
|---|---|---|
| Name | A friendly name for the API. Does not affect any functionality. | yourDomain |
| Identifier | A unique identifier for the API. Auth0 recommends using a URL. Auth0 does differentiate between URLs that include the last forward slash. For example, `https://example.com` and `https://example.com/` are two different identifiers. The URL does not have to be a publicly available URL. Auth0 will not call your API. This value cannot be modified afterwards. | `https://{yourDomain}` |
| JSON Web Token (JWT) Profile | The profile determines the format of the access tokens issued for the API. The available values are Auth0 and RFC 9068. To learn more, read Access Token Profiles. |
Auth0 |
| JSON Web Token (JWT) Signing Algorithm | The algorithm to sign the access tokens with. The available values are HS256, PS256, RS256. If you select RS256, the token will be signed with the tenant's private key. |
RS256 |
| Access Policy for Applications within user flow | Allow applications to access the API on the user’s behalf. To learn more read, [API Access Policies for Applications](/docs/get-started/apis/api-access-policies-for-applications). | Allow via client-grant |
| Access Policy for Applications within client flows | Allow Machine to Machine applications to access the API. To learn more read, [API Access Policies for Applications](/docs/get-started/apis/api-access-policies-for-applications). | Allow via client-grant |
| Teams Feature | Enterprise Private Cloud | Enterprise Public Cloud | Self-Service Subscription |
|---|---|---|---|
| Tenant Management | ✅ | ✅ | ✅ |
| Tenant Member Management | ✅ \* | ✅ | ✅ |
| SSO Enforcement | ✅ \* | ✅ | ❌ |
| Tenant Creation from Teams | ✅ | ❌ | ✅ |
| Metric | What it measures | Comments |
|---|---|---|
| Monthly Active Users | Measures the unique monthly active users on the account as compared to your quota. | For detailed information on a tenant level, please reference the Support Center Quota report. |
| Machine to Machine Tokens | Shows the number of access tokens issued by Auth0 for the client credentials grant. Tokens issued for Auth0 Management API or other Auth0 built in APIs are not counted. | For detailed information on a tenant level, please reference the Support Center Quota report. |
| Active Enterprise Connections | This metric displays the number of enterprise connections an account is using. | For more details about your quota, contact your Account Executive. |
| New User Signups | This displays how many new users (user registrations) were added to your tenant(s) in the months of this quarter. | Refer to the Activity Page for more information on new users. |
| Dormant Users | This metric represents the monthly average users that haven’t authenticated in the last month. | |
| Breached Password | Number of attempts blocked with compromised credentials, as stopped by the Breached password detection feature. | |
| Brute-force Protection | Requests blocked by the Brute-force Protection feature, if enabled. This metric summarizes all requests blocked specifically on production tenants. | |
| Suspicious IP Throttling | Requests blocked by the Suspicious IP Throttling feature, if enabled. This metric sums all requests blocked specifically on production tenants. | |
| Bot Detection | Requests failed to solve the CAPTCHA challenge. This metric sums all the bot requests that were blocked by the Bot Detection feature after failing to solve a CAPTCHA challenge. | |
| Adaptive MFA | Requests where MFA challenge was issued due to a low confidence score. This metric sums all login attempts where a multi-factor authentication challenge was issued and the calculated confidence score was low. |
| Event Type | Description |
|---|---|
| Team Invitation | Team member invitation created Team member invitation deleted |
| Team Member | Team member deleted Team member role updated |
| Security Policy | Security policy updated Social connections updated |
| Team Setting | Team settings updated |
| Name | Type | Description |
|---|---|---|
id |
string | Event log unique identification. |
team\_id |
string | Unique team identification. |
user\_id |
string | The unique identifier for the user that generated the event. |
type |
string | Event type. |
description |
string | Event type summary. |
status |
string | Event status. Possible values are Success or Failure. |
details |
object | Details of the logged event. |
ip |
string | IP address of the user that generated the event log. |
hostname |
string | FQDN of the Auth0 App on which the event was performed. |
user\_agent |
string | Web browser and Device OS type and version. |
version |
string | Schema version under which the activity log was generated. |
created\_at |
datetime | Date and time event log was generated. |
team\_slug |
string | Unique text team identifier. |
user |
object | Contains name, avatar URL, and Team membership status (boolean). |
| Possible Cause | Action |
|---|---|
| The current tenant isn’t in Teams. | Try switching to a different tenant. |
| You’re not a Teams owner. | Ask a Teams owner to invite you to the team. |
| Read... | To learn... |
|---|---|
| Light and Dark themes | How to choose your preferred theme. |
| Auth0 Dashboard Login Session Management | How to manage Auth0 Dashboard sessions. |
| Read... | To learn... |
|---|---|
| Introduction to Identity and Access Management (IAM) | Basic concepts of IAM. |
| Authentication vs. Authorization | About the differences between authentication and authorization. |
| Glossary | Definitions of various terms related to identity. |
| Authentication | Authorization |
|---|---|
| Determines whether users are who they claim to be | Determines what users can and cannot access |
| Challenges the user to validate credentials (for example, through passwords, answers to security questions, or facial recognition) | Verifies whether access is allowed through policies and rules |
| Usually done before authorization | Usually done after successful authentication |
| Generally, transmits info through an ID Token | Generally, transmits info through an |
| Generally governed by the |
Generally governed by the OAuth 2.0 framework |
| Example: Employees in a company are required to authenticate through the network before accessing their company email | Example: After an employee successfully authenticates, the system determines what information the employees are allowed to access |
| Factor type | Examples |
|---|---|
| Knowledge (something you know) | Pin, password |
| Possession (something you have) | Mobile phone, encryption key device |
| Inherence (something you are) | Fingerprint, facial recognition, iris scan |
| Read... | To learn... |
|---|---|
| Self-Service Machine-to-Machine | How to onboard for machine-to-machine authentication. |
| Field | Description | Example |
|---|---|---|
| Name | A friendly name for the API. Does not affect any functionality. | yourDomain |
| Identifier | A unique identifier for the API. Auth0 recommends using a URL. Auth0 does differentiate between URLs that include the last forward slash. For example, `https://example.com` and `https://example.com/` are two different identifiers. The URL does not have to be a publicly available URL. Auth0 will not call your API. This value cannot be modified afterwards. | `https://{yourDomain}` |
| JSON Web Token (JWT) Profile | The profile determines the format of the access tokens issued for the API. The available values are Auth0 and RFC 9068. To learn more, read Access Token Profiles. |
access\_token |
| JSON Web Token (JWT) Signing Algorithm | The algorithm to sign the access tokens with. The available values are HS256, PS256, RS256. If you select RS256, the token will be signed with the tenant's private key. |
HS256 |
| Setting | Description |
|---|---|
| Device Flow User Code Format | Character set used to when randomly generating a user code. |
| User Code Mask | Mask used to define length and format of a randomly-generated user code. Its purpose is to increase the user code's readability and ease of input. |
| Value | Description |
|---|---|
YOUR\_KEY\_ID |
ID of the signing key to be revoked. To learn how to find your signing key ID, see Locate JSON Web Key Sets. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope update:signing\_keys. |
| Value | Description |
|---|---|
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scopes create:signing\_keys and update:signing\_keys. |
| Value | Description |
|---|---|
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope read:signing\_keys. |
| Value | Description |
|---|---|
YOUR\_KEY\_ID |
ID of the signing key to be viewed. To learn how to find your signing key ID, see Locate JSON Web Key Sets. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope read:signing\_keys. |
| Read... | To learn... | Download... |
|---|---|---|
| Business to Consumer | How to build, configure, and deploy your B2C environment for identity and access management. | B2C Planning Guide |
| Business to Business | How to build, configure, and deploy your B2B environment for identity and access management. | B2B Planning Guide |
| Business to Employee | How to build, configure, and deploy your B2E environment for identity and access management. | The B2B Planning Guide applies in this case too. |
| Read... | To learn... |
|---|---|
| Multiple Organizations | How to configure an application architecture that uses either single identity provider organizations or multiple identity provider organizations. |
| Single Sign-On for Regular Web Apps | How to configure and implement a web application that uses SSO for employees using Active Directory and contractors using a separate user store. |
| Server Application + API | How to configure a timesheet API using a cron job to log timesheet entries. |
| Single Page Application + API | How to configure a timesheet API using a single-page application to log timesheet entries. |
| Mobile Application + API | How to configure a timesheet API using a mobile application to log timesheet entries in a centralized database. |
| Read... | To learn... |
|---|---|
| Implementation Checklists | How to plan for tasks associated with each phase in your SDLC project. |
| Implementation Resources | About the resources Auth0 provides to help you get started including videos, terminology, white papers, blog posts, quickstarts, APIs, SDKs, the Auth0 Community forum, and our Auth0 Support Center. |
| Read | To learn... |
|---|---|
| Architecture | How to configure your Auth0 tenant architecture affects your B2B IAM implementation. |
| Provisioning | About user provisioning functionality and considerations for your B2B IAM implementation. |
| Authentication | How authentication works in your B2B IAM implementation. |
| Branding | How to configure Auth0 items to reflect your brand and desired user experience. |
| Deployment Automation | How Auth0 tooling helps to automate tenant deployment. |
| Quality Assurance | About quality assurance considerations for your B2B IAM implementations. |
| Profile Management | About user profile management planning considerations for your B2B IAM implementation. |
| Authorization | About user authorization and related planning considerations for your B2B IAM implementation. |
| Logout | About user logout planning considerations for your B2B IAM implementation. |
| Operations | How to operationalize your Auth0 tenant environments. |
| Launch Preparation | About launch preparation considerations for your B2B IAM implementation. |
| Environment | Sample Tenant Name | Description |
|---|---|---|
| Development | company-dev | A shared environment where most of your development work occurs |
| QA/Testing | company-qa or company-uat | An environment for formal testing of the changes you've made |
| Production | company-prod | The production tenant |
| Environment | Sample Tenant Name | Description |
|---|---|---|
| Development | company-dev | A shared environment where most of your development work occurs |
| QA/Testing | company-qa or company-uat | An environment for formal testing of the changes you've made |
| Production | company-prod | The production tenant |
| Read | To learn... |
|---|---|
| Architecture | How to configure your Auth0 tenant architecture affects your B2C IAM implementation. |
| Provisioning | About user provisioning functionality and considerations for your B2C IAM implementation. |
| Authentication | How authentication works in your B2C IAM implementation. |
| Branding | How to configure Auth0 items to reflect your brand and desired user experience. |
| Deployment Automation | How Auth0 tooling helps to automate tenant deployment. |
| Quality Assurance | About quality assurance considerations for your B2C IAM implementations. |
| Profile Management | About user profile management planning considerations for your B2C IAM implementation. |
| Authorization | About user authorization and related planning considerations for your B2C IAM implementation. |
| Logout | About user logout planning considerations for your B2C IAM implementation. |
| Operations | How to operationalize your Auth0 tenant environments. |
| Launch Preparation | About launch preparation considerations for your B2C IAM implementation. |
| Environment | Sample Tenant Name | Description |
|---|---|---|
| Development | company-dev | A shared environment where most of your development work occurs |
| QA/Testing | company-qa or company-uat | An environment for formal testing of the changes you've made |
| Production | company-prod | The production tenant |
| Environment | Sample Tenant Name | Description |
|---|---|---|
| Development | company-dev | A shared environment where most of your development work occurs |
| QA/Testing | company-qa or company-uat | An environment for formal testing of the changes you've made |
| Production | company-prod | The production tenant |
| Approach | Pros | Cons |
|---|---|---|
| Unique API Audience |
|
|
| Custom Claim | Simplifies Auth0 Tenant configuration. | Custom code needed in a rule to add the organization to the access token. |
| HTTP method | API endpoint | Description |
|---|---|---|
POST |
/timesheets/upload |
Creates a new timesheet entry |
| Parameter Name | Description |
|---|---|
response\_type |
Denotes the kind of credential that Auth0 will return (code or token). For this flow, the value must be code. |
code\_challenge |
Generated challenge from the code\_verifier. |
code\_challenge\_method |
Method used to generate the challenge (e.g., S256). The PKCE spec defines two methods, S256 and plain, the former is used in this example and is the only one supported by Auth0 since the latter is discouraged. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
redirect\_uri |
The URL to which Auth0 will redirect the browser after authorization has been granted by the user. The Authorization Code will be available in the code URL parameter. You must specify this URL as a valid callback URL in your Application Settings. Warning: Per the OAuth 2.0 Specification, Auth0 removes everything after the hash and does not honor any fragments. |
scope |
Specifies the scopes for which you want to request authorization, which dictate which claims (or user attributes) you want returned. These must be separated by a space. To get an ID Token in the response, you need to specify a scope of at least openid. If you want to return the user's full profile, you can request openid profile. You can request any of the standard OpenID Connect (OIDC) scopes about users, such as email, or custom claims conforming to a namespaced format. Include offline\_access to get a |
state |
(recommended) An opaque arbitrary alphanumeric string your app adds to the initial request that Auth0 includes when redirecting back to your application. To see how to use this value to prevent cross-site request forgery (CSRF) attacks, see Mitigate CSRF Attacks With State Parameters. |
connection |
(optional) Forces the user to sign in with a specific connection. For example, you can pass a value of github to send the user directly to GitHub to log in with their GitHub account. When not specified, the user sees the Auth0 Lock screen with all configured connections. You can see a list of your configured connections on the Connections tab of your application. |
organization |
(optional) ID of the organization to use when authenticating a user. When not provided, if your application is configured to Display Organization Prompt, the user will be able to enter the organization name when authenticating. |
invitation |
(optional) Ticket ID of the organization invitation. When inviting a member to an Organization, your application should handle invitation acceptance by forwarding the invitation and organization key-value pairs when the user accepts the invitation. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to "authorization\_code". |
code\_verifier |
The cryptographically-random key that was generated in the first step of this tutorial. |
code |
The authorization\_code retrieved in the previous step of this tutorial. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
redirect\_uri |
The valid callback URL set in your Application settings. This must exactly match the redirect\_uri passed to the authorization URL in the previous step of this tutorial. Note that this must be URL encoded. |
| Parameter Name | Description |
|---|---|
response\_type |
Denotes the kind of credential that Auth0 will return (code or token). For this flow, the value must be code. |
code\_challenge |
Generated challenge from the code\_verifier. |
code\_challenge\_method |
Method used to generate the challenge (e.g., S256). The PKCE spec defines two methods, S256 and plain, the former is used in this example and is the only one supported by Auth0 since the latter is discouraged. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
redirect\_uri |
The URL to which Auth0 will redirect the browser after authorization has been granted by the user. The Authorization Code will be available in the code URL parameter. You must specify this URL as a valid callback URL in your Application Settings. Warning: Per the OAuth 2.0 Specification, Auth0 removes everything after the hash and does not honor any fragments. |
scope |
The scopes for which you want to request authorization. These must be separated by a space. You can request any of the standard OpenID Connect (OIDC) scopes about users, such as profile and email, custom claims conforming to a namespaced format, or any scopes supported by the target API (e.g., read:contacts). Include offline\_access to get a |
audience |
The unique identifier of the API your mobile app wants to access. Use the Identifier value on the Settings tab for the API you created as part of the prerequisites for this tutorial. |
state |
(recommended) An opaque arbitrary alphanumeric string your app adds to the initial request that Auth0 includes when redirecting back to your application. To see how to use this value to prevent cross-site request forgery (CSRF) attacks, see Mitigate CSRF Attacks With State Parameters. |
organization |
(optional) ID of the organization to use when authenticating a user. When not provided, if your application is configured to Display Organization Prompt, the user will be able to enter the organization name when authenticating. |
invitation |
(optional) Ticket ID of the organization invitation. When inviting a member to an Organization, your application should handle invitation acceptance by forwarding the invitation and organization key-value pairs when the user accepts the invitation. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to "authorization\_code". |
code\_verifier |
The cryptographically-random key that was generated in the first step of this tutorial. |
code |
The authorization\_code retrieved in the previous step of this tutorial. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
redirect\_uri |
The valid callback URL set in your Application settings. This must exactly match the redirect\_uri passed to the authorization URL in the previous step of this tutorial. Note that this must be URL encoded. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to refresh\_token. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
refresh\_token |
The refresh token to use. |
scope |
(optional) A space-delimited list of requested scope permissions. If not sent, the original scopes will be used; otherwise you can request a reduced set of scopes. Note that this must be URL encoded. |
| Parameter Name | Description |
|---|---|
response\_type |
Denotes the kind of credential that Auth0 will return (code or token). For this flow, the value must be code. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
redirect\_uri |
The URL to which Auth0 will redirect the browser after authorization has been granted by the user. The Authorization Code will be available in the code URL parameter. You must specify this URL as a valid callback URL in your Application Settings. Warning: Per the OAuth 2.0 Specification, Auth0 removes everything after the hash and does not honor any fragments. |
scope |
Specifies the scopes for which you want to request authorization, which dictate which claims (or user attributes) you want returned. These must be separated by a space. To get an ID Token in the response, you need to specify a scope of at least openid. If you want to return the user's full profile, you can request openid profile. You can request any of the standard OpenID Connect (OIDC) scopes about users, such as email, or custom claims conforming to a namespaced format. Include offline\_access to get a |
state |
(recommended) An opaque arbitrary alphanumeric string your app adds to the initial request that Auth0 includes when redirecting back to your application. To see how to use this value to prevent cross-site request forgery (CSRF) attacks, see Mitigate CSRF Attacks With State Parameters. |
connection |
(optional) Forces the user to sign in with a specific connection. For example, you can pass a value of github to send the user directly to GitHub to log in with their GitHub account. When not specified, the user sees the Auth0 Lock screen with all configured connections. You can see a list of your configured connections on the Connections tab of your application. |
organization |
(optional) ID of the organization to use when authenticating a user. When not provided, if your application is configured to Display Organization Prompt, the user will be able to enter the organization name when authenticating. |
invitation |
(optional) Ticket ID of the organization invitation. When inviting a member to an Organization, your application should handle invitation acceptance by forwarding the invitation and organization key-value pairs when the user accepts the invitation. |
login\_hint |
(optional) Populates the username/email field for the login or signup page when redirecting to Auth0. Supported by the Universal Login experience. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to authorization\_code. |
code |
The authorization\_code retrieved in the previous step of this tutorial. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
client\_secret |
Your application's Client Secret. You can find this value in your Application Settings. To learn more about available application authentication methods, read Application Credentials. |
redirect\_uri |
The valid callback URL set in your Application settings. This must exactly match the redirect\_uri passed to the authorization URL in the previous step of this tutorial. Note that this must be URL encoded. |
| Parameter Name | Description |
|---|---|
response\_type |
Denotes the kind of credential that Auth0 will return (code or token). For this flow, the value must be code. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
redirect\_uri |
The URL to which Auth0 will redirect the browser after authorization has been granted by the user. The Authorization Code will be available in the code URL parameter. You must specify this URL as a valid callback URL in your Application Settings. Warning: Per the OAuth 2.0 Specification, Auth0 removes everything after the hash and does not honor any fragments. |
scope |
Specifies the scopes for which you want to request authorization, which dictate which claims (or user attributes) you want returned. These must be separated by a space. You can request any of the standard OpenID Connect (OIDC) scopes about users, such as profile or email, custom claims conforming to a namespaced format, or any scopes supported by the target API (e.g., read:contacts). Include offline\_access to get a |
audience |
The unique identifier of the API your web app wants to access. Use the Identifier value on the Settings tab for the API you created as part of the prerequisites for this tutorial. |
state |
(recommended) An opaque arbitrary alphanumeric string your app adds to the initial request that Auth0 includes when redirecting back to your application. To see how to use this value to prevent cross-site request forgery (CSRF) attacks, see Mitigate CSRF Attacks With State Parameters. |
organization |
(optional) ID of the organization to use when authenticating a user. When not provided, if your application is configured to Display Organization Prompt, the user will be able to enter the organization name when authenticating. |
invitation |
(optional) Ticket ID of the organization invitation. When inviting a member to an Organization, your application should handle invitation acceptance by forwarding the invitation and organization key-value pairs when the user accepts the invitation. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to authorization\_code. |
code |
The authorization\_code retrieved in the previous step of this tutorial. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
client\_secret |
Your application's Client Secret. You can find this value in your Application Settings. To learn more about available application authentication methods, read Application Credentials. |
redirect\_uri |
The valid callback URL set in your Application settings. This must exactly match the redirect\_uri passed to the authorization URL in the previous step of this tutorial. Note that this must be URL encoded. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to refresh\_token. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
refresh\_token |
The refresh token to use. |
scope |
(optional) A space-delimited list of requested scope permissions. If not sent, the original scopes will be used; otherwise you can request a reduced set of scopes. Note that this must be URL encoded. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to "client\_credentials". |
client\_id |
Your application's Client ID. You can find this value on the application's settings tab. |
client\_secret |
Your application's Client Secret. You can find this value on the application's settings tab. To learn more about available application authentication methods, read Application Credentials. |
audience |
The audience for the token, which is your API. You can find this in the Identifier field on your API's settings tab. |
organization |
Optional. The organization name or identifier you want the request to be associated with. To learn more, read Machine-to-Machine Access for Organizations. |
| Read... | To Learn... |
|---|---|
| Configure Client-Initiated Backchannel Authentication | How to configure the CIBA grant type and notification channel for your application. |
| Mobile push notifications with CIBA | How to authenticate users using the CIBA flow with mobile push notifications. |
| Email notifications with CIBA | How to authenticate users using the CIBA flow with email notifications. |
| User Authorization with CIBA | How to authorize users using the CIBA with Rich Authorization Requests (RAR) flow. |
| Parameters | Description |
|---|---|
tenant |
Tenant name. It can also be a custom domain. If the `iss_sub` format is used, then the tenant name is passed within the `iss` claim. |
client\_id |
Client application identifier. |
client\_secret |
Client authentication method used for user authentication with CIBA, such as Client Secret, Private Key JWT, or mTLS Authentication. If you're using Private Key JWT or mTLS, you don't need to include the client secret. |
scope |
Must include openid.The scope can optionally include offline\_access to request a refresh token. However, for one-time authorization of a transaction with the CIBA Flow, a refresh token is not needed and does not have any meaning in this context. |
user\_id |
User ID for the authorizing user that is passed within the login\_hint structure. If iss\_sub format is used, then the user ID is passed within the sub claim.The user ID may have a different format depending on the external provider. |
requested\_expiry |
The maximum duration, in seconds, for which the CIBA session should be valid. The CIBA flow's requested expiry is between 1 and 259200 seconds (72 hours), and it defaults to 300 seconds. Include the requested\_expiry parameter to set a custom expiry for the CIBA flow.The requested\_expiry parameter helps determine which notification channel CIBA uses:
|
binding\_message |
Human-readable message used to bind the CIBA flow across the authentication and consumption devices. The binding message is required and up to 64 characters. Use only alphanumeric and +-\_.,:# characters. |
| Parameters | Description |
|---|---|
tenant |
Tenant name. It can also be a custom domain. If the `iss_sub` format is used, then the tenant name is passed within the `iss` claim. |
client\_id |
Client application identifier. |
client\_secret |
Client authentication method used for user authentication with CIBA, such as Client Secret, Private Key JWT, or mTLS Authentication. If you're using Private Key JWT or mTLS, you don't need to include the client secret. |
scope |
Must include openid.The scope can optionally include offline\_access to request a refresh token. However, for one-time authorization of a transaction with the CIBA Flow, a refresh token is not needed and does not have any meaning in this context. |
user\_id |
User ID for the authorizing user that is passed within the login\_hint structure. If iss\_sub format is used, then the user ID is passed within the sub claim.The user ID may have a different format depending on the external provider. |
requested\_expiry |
The maximum duration, in seconds, for which the CIBA session should be valid. The CIBA flow's requested expiry is between 1 and 259200 seconds (72 hours), and it defaults to 300 seconds. Include the requested\_expiry parameter to set a custom expiry for the CIBA flow.The requested\_expiry parameter helps determine which notification channel CIBA uses:
|
binding\_message |
Human-readable message used to bind the CIBA flow across the authentication and consumption devices. The binding message is required and up to 64 characters. Use only alphanumeric and +-\_.,:# characters. |
| Parameters | Description |
|---|---|
tenant |
Tenant name that is passed within the login\_hint structure. It can also be a custom domain. If the `iss_sub` format is used, then the tenant name is passed within the `iss` claim.**Example**: `login_hint={"format": "iss_sub", "iss": "https://{YOUR_DOMAIN}.auth0.com/", "sub":"{USER_ID"}` |
client\_id |
Client application identifier. |
client\_secret |
Client authentication method used for user authentication with CIBA, such as Client Secret, Private Key JWT, or mTLS Authentication. If you're using Private Key JWT or mTLS, you don't need to include the client secret. |
scope |
Must include openid.The scope can optionally include offline\_access to request a refresh token. However, for one-time authorization of a transaction with the CIBA Flow, a refresh token is not needed and does not have any meaning in this context. |
user\_id |
User ID for the authorizing user that is passed within the login\_hint structure. If iss\_sub format is used, then the user ID is passed within the sub claim. **Example**: `login_hint={"format": "iss_sub", "iss": "https://{YOUR_DOMAIN}.auth0.com/", "sub":"{USER_ID}"}` The user ID may have a different format depending on the external provider. |
requested\_expiry |
The CIBA flow's requested expiry is between 1 and 259200 (72 hours) seconds, and it defaults to 300 seconds. Include the requested\_expiry parameter to set a custom expiry for the CIBA flow.The `requested_expiry` parameter helps determine which notification channel CIBA uses:
|
binding\_message |
Human-readable message used to bind the CIBA flow across the authentication and consumption devices. The binding message is required and up to 64 characters. Use only alphanumeric and +-\_.,:# characters |
audience |
Unique identifier of the audience for the issued token. |
authorization\_details |
An optional JSON array of objects that describes the permissions to be authorized. You should register each object’s type value on the resource server using the resource server’s authorization\_details parameter. To learn more, read Configure Rich Authorization Requests. |
| Parameters | Description |
|---|---|
grant\_type |
Set to the CIBA grant type: urn:openid:params:grant-type:ciba |
client\_id |
Set to the application’s client ID. |
client\_secret |
Set to the application’s client secret. |
auth\_req\_id |
Returned from the Auth0 tenant when it acknowledges the CIBA request. References the CIBA request. |
| Parameter Name | Description |
|---|---|
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
scope |
The scopes for which you want to request authorization. These must be separated by a space. You can request any of the standard OIDC scopes about users, such as profile and email, custom claims conforming to a namespaced format, or any scopes supported by the target API (e.g., read:contacts). Include openid to get an ID Token or to be able to use the /userinfo endpoint to retrieve profile information for the user. Include offline\_access to get a Refresh Token (make sure that the Allow Offline Access field is enabled in the API Settings). Note that this must be URL encoded. |
audience |
The unique identifier of the API your app wants to access. Use the Identifier value on the Settings tab for the API you created as part of the prerequisites for this tutorial. Note that this must be URL encoded. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to "urn:ietf:params:oauth:grant-type:device\_code". This is an extension grant type (as defined by Section 4.5 of RFC6749). Note that this must be URL encoded. |
device\_code |
The device\_code retrieved in the previous step of this tutorial. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to "refresh\_token". |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
client\_secret |
Your application's Client Secret. You can find this value in your Application Settings. |
refresh\_token |
The Refresh Token to use. |
scope |
(Optional) A space-delimited list of requested scope permissions. If not sent, the original scopes will be used; otherwise you can request a reduced set of scopes. Note that this must be URL encoded. |
| Code | Name | Description |
|---|---|---|
fdeaz |
Failed device authorization request | |
fdeac |
Failed device activation | |
fdecc |
User canceled the device confirmation | |
fede |
Failed Exchange | Device Code for Access Token |
sede |
Success Exchange | Device Code for Access Token |
| Parameter Name | Description |
|---|---|
response\_type |
Denotes the kind of credential that Auth0 will return (code or token). For this flow, the value must include code, but may also include id\_token, token, or id\_token token. Specifically, id\_token returns an ID Token, and token returns an Access Token. |
response\_mode |
Specifies the method with which response parameters should be returned. For security purposes, the value should be form\_post. In this mode, response parameters will be encoded as HTML form values that are transmitted via the HTTP POST method and encoded in the body using the application/x-www-form-urlencoded format. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
redirect\_uri |
The URL to which Auth0 will redirect the browser after authorization has been granted by the user. The Authorization Code will be available in the code URL parameter. You must specify this URL as a valid callback URL in your Application Settings. Warning: Per the OAuth 2.0 Specification, Auth0 removes everything after the hash and does not honor any fragments. |
scope |
Specifies the scopes for which you want to request authorization, which dictate which claims (or user attributes) you want returned. These must be separated by a space. You can request any of the standard OpenID Connect (OIDC) scopes about users, such as profile or email, custom claims conforming to a namespaced format, or any scopes supported by the target API (e.g., read:contacts). Include offline\_access to get a |
audience |
The unique identifier of the API your application wants to access. Use the Identifier value on the Settings tab for the API you created as part of the prerequisites for this tutorial. |
state |
(recommended) An opaque arbitrary alphanumeric string your app adds to the initial request that Auth0 includes when redirecting back to your application. To see how to use this value to prevent cross-site request forgery (CSRF) attacks, see Mitigate CSRF Attacks With State Parameters. |
nonce |
A cryptographically random string that your app adds to the initial request and Auth0 includes inside the ID Token, used to prevent token replay attacks. |
organization |
(optional) ID of the organization to use when authenticating a user. When not provided, if your application is configured to Display Organization Prompt, the user will be able to enter the organization name when authenticating. |
invitation |
(optional) Ticket ID of the organization invitation. When inviting a member to an Organization, your application should handle invitation acceptance by forwarding the invitation and organization key-value pairs when the user accepts the invitation. |
| Response Type | Components |
|---|---|
code |
Authorization code |
id\_token |
ID Token |
token |
Access Token (plus expires\_in and token\_type values) |
id\_token token |
ID Token, Access Token (plus expires\_in and token\_type values) |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to authorization\_code. |
code |
The authorization\_code retrieved in the previous step of this tutorial. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
client\_secret |
Your application's Client Secret. You can find this value in your Application Settings. To learn more about available application authentication methods, read Application Credentials. |
redirect\_uri |
The valid callback URL set in your Application settings. This must exactly match the redirect\_uri passed to the authorization URL in the previous step of this tutorial. Note that this must be URL encoded. |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to refresh\_token. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
refresh\_token |
The refresh token to use. |
scope |
(optional) A space-delimited list of requested scope permissions. If not sent, the original scopes will be used; otherwise you can request a reduced set of scopes. Note that this must be URL encoded. |
| Parameter Name | Description |
|---|---|
response\_type |
Denotes the kind of credential that Auth0 will return (code or token). For the Implicit Flow, the value can be id\_token, token, or id\_token token. Specifically, id\_token returns an ID Token, and token returns an Access Token. |
response\_mode |
Specifies the method with which response parameters should be returned. For security purposes, the value should be form\_post. In this mode, response parameters will be encoded as HTML form values that are transmitted via the HTTP POST method and encoded in the body using the application/x-www-form-urlencoded format. |
client\_id |
Your application's Client ID. You can find this value at your Application's Settings. |
redirect\_uri |
The URL to which Auth0 will redirect the browser after authorization has been granted by the user. You must specify this URL as a valid callback URL in your Application Settings. Warning: Per the OAuth 2.0 Specification, Auth0 removes everything after the hash and does not honor any fragments. |
scope |
Specifies the scopes for which you want to request authorization, which dictate which claims (or user attributes) you want returned. These must be separated by a space. You can request any of the standard OpenID Connect (OIDC) scopes about users, such as profile and email, custom claims conforming to a namespaced format, or any scopes supported by the target API (for example, read:contacts). |
state |
(recommended) An opaque arbitrary alphanumeric string that your app adds to the initial request and Auth0 includes when redirecting back to your application. To see how to use this value to prevent cross-site request forgery (CSRF) attacks, see Mitigate CSRF Attacks With State Parameters. |
nonce |
(required for response\_type containing id\_token token, otherwise recommended) A cryptographically random string that your app adds to the initial request and Auth0 includes inside the ID Token, used to prevent token replay attacks. |
connection |
(optional) Forces the user to sign in with a specific connection. For example, you can pass a value of github to send the user directly to GitHub to log in with their GitHub account. When not specified, the user sees the Auth0 Lock screen with all configured connections. You can see a list of your configured connections on the Connections tab of your application. |
organization |
(optional) ID of the organization to use when authenticating a user. When not provided, if your application is configured to Display Organization Prompt, the user will be able to enter the organization name when authenticating. |
invitation |
(optional) Ticket ID of the organization invitation. When inviting a member to an Organization, your application should handle invitation acceptance by forwarding the invitation and organization key-value pairs when the user accepts the invitation. |
| Response Type | Components |
|---|---|
| id\_token | ID Token |
| token | Access Token (plus expires\_in and token\_type values) |
| id\_token token | ID Token, Access Token (plus expires\_in and token\_type values) |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to password. |
username |
The username entered by the user. |
password |
The password entered by the user. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
client\_assertion |
A JWT containing a signed assertion with your application credentials. Required when Private Key JWT is your application authentication method. |
client\_assertion\_type |
The value is urn:ietf:params:oauth:client-assertion-type:jwt-bearer. Required when Private Key JWT is the application authentication method. |
client\_secret |
Your application's Client Secret. Required when Client Secret is the application authentication method. Application Settings is Post or Basic. If your application is not highly trusted (for example, a SPA), then do not set this parameter. |
audience |
The audience for the token, which is your API. You can find this in the Identifier field on your API's settings tab. |
scope |
Specifies the scopes for which you want to request authorization, which dictate which claims (or user attributes) you want returned. These must be separated by a space. You can request any of the standard OpenID Connect (OIDC) scopes about users, such as profile or email, custom claims conforming to a namespaced format, or any scopes supported by the target API (e.g., read:contacts). Include offline\_access to get a |
| Parameter Name | Description |
|---|---|
grant\_type |
Set this to refresh\_token. |
client\_id |
Your application's Client ID. You can find this value in your Application Settings. |
refresh\_token |
The refresh token to use. |
scope |
(optional) A space-delimited list of requested scope permissions. If not sent, the original scopes will be used; otherwise you can request a reduced set of scopes. Note that this must be URL encoded. |
| Parameter | Description |
|---|---|
grant\_type |
For Custom Token Exchange, use urn:ietf:params:oauth:grant-type:token-exchange. |
subject\_token\_type |
The type of the subject token. For Custom Token Exchange, this can be any URI scoped under your own ownership, such as `http://acme.com/legacy-token` or urn:acme:legacy-token.The following namespaces are reserved and cannot be used:
|
subject\_token |
The subject token, which your action should validate and use to identify the user. |
client\_id |
The client ID of the application you are using for the Token Exchange. As for other grant types, you can also pass the client ID in the Authorization header using HTTP Basic Auth. |
client\_secret |
The client secret of the application you are using for the Token Exchange. As for other grant types, you can also pass the client secret in the Authorization header using HTTP Basic Auth. Other alternatives are also available as explained in Auth0 Authentication API reference docs. Note Custom Token Exchange can be used by public Applications. Make sure to read Attack Protection in that case. |
audience |
The API identifier defined in Auth0. The default tenant audience will be used when not present, as configured in [Tenant Settings](/docs/get-started/tenant-settings). |
scope |
(Optional) The OAuth2 scope parameter. |
organization |
(Optional) The organization identifier you want the request to be associated with. Alternatively, you can specify an organization name if [Use Organization Names in Authentication API](/docs/manage-users/organizations/configure-organizations/use-org-name-authentication-api) is allowed for your tenant. To learn more about how the request is processed, read about the [api.authentication.setOrganization() API method](/docs/customize/actions/explore-triggers/signup-and-login-triggers/custom-token-exchange-trigger/custom-token-exchange-api-object#api-authentication-setorganization-organization). |
| Read... | To learn... |
|---|---|
| Dashboard Access by Role | About tenant member roles and Auth0 Dashboard feature access. |
| Add Tenant Members | How to add tenant members to access the Auth0 Dashboard. |
| Edit Tenant Members | How to edit tenant member roles. |
| Remove Tenant Members | How to revoke a tenant member's access to the Auth0 Dashboard. |
| Add Multi-factor Authentication (MFA) for Auth0 Dashboard Access | How Auth0 Dashboard users can implement multi-factor authentication (MFA). |
| Update Dashboard User Email Addresses | How to update a tenant member's email address. |
| Role | Permissions |
|---|---|
| Admin | Read and write access to all resources in the Auth0 Dashboard, including extensions. |
| Editor - Connections | Read, write, and create access to all types of connections. |
| Editor - Key Management | Create and manage cryptographic keys. |
| Editor - Organizations | Read, write, and create access to Organization configuration. Read-only access to Users, Roles, and Connections. |
| Editor - Specific Apps | Read and write access to specific applications only. |
| Editor - Users | User management operations (create, delete, block, unblock, reset MFA, reset password, update metadata, assign roles, etc.) and access to logs. |
| Viewer - Users | Read-only access to users and user-related logs. |
| Viewer - Config Settings | Read-only access to all configuration settings (applications, APIs, rules, security settings, etc.) except for sensitive information such as secrets, billing, users, and logs. |
| Support Access - Deprecated | Access to tickets (submit, view, and update) and aggregated metrics. |
| Elevated Support Access | Read, write, and create access to all support tickets created by all users on a tenant (Subscripton Tickets in Auth0 Support Center). Access to aggregated metrics. |
| Property | Values |
|---|---|
| Entity ID | `urn:auth0:auth0:{assignedConnectionName}` |
| Callback endpoint | `https://auth0.auth0.com/login/callback` |
| Claim | Claim identifier | Value |
|---|---|---|
| Name Identifier | [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier) |
E-Mail-Addresses or User-Principal-Name |
| Email Address | [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress) |
N/A |
| Name | [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name) |
N/A |
| Property | Value |
|---|---|
| Identifier (Entity ID) | `urn:auth0:auth0:{assignedConnectionName}` |
| Reply (ACS) URL | `https://auth0.auth0.com/login/callback` |
| Sign-on URL | `https://manage.auth0.com/login?connection={assignedConnectionName}` |
| Property | Value |
|---|---|
| Entity ID | `urn:auth0:auth0:{assignedConnectionName}` |
| Callback endpoint (ACS URL) | `https://auth0.auth0.com/login/callback` |
| Property | Value |
|---|---|
| Entity ID | `urn:auth0:auth0:{assignedConnectionName}` |
| Callback endpoint (ACS URL) | `https://auth0.auth0.com/login/callback` |
| Login URL | `https://manage.auth0.com/login?connection={assignedConnectionName}` |
| Property | Value |
|---|---|
| Callback URL | `https://auth0.auth0.com/login/callback` |
| Property | Value |
|---|---|
| Entity ID | `urn:auth0:auth0:{assignedConnectionName}` |
| Callback endpoint | `https://auth0.auth0.com/login/callback` |
| Claim | Claim identifier | Value |
|---|---|---|
| Name Identifier | [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier) |
upn or emailaddress |
| Email Address | [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress) |
N/A |
| Name | [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name) |
N/AA |
| Tenant | Tenant Member | Connection | Affected? |
|---|---|---|---|
fabrikam\@us |
`user1@example.com` | email/password | Yes |
fabrikam\@us |
`user1@gmail.com` | google-oauth2 | No |
fabrikam\@us |
`user2@example.com` | github | No |
fabrikam\@us |
`user3@acme.com` | email/password | No |
fabrikam\@us |
`user4@example.com` | email/password | Yes |
fabrikam-dev\@us |
`user5@example.com` | email/password | Yes |
fabrikam-dev\@us |
`user1@example.com` | email/password | Yes |
| Role | Permissions |
|---|---|
| Admin | Read and write access to all resources in the Auth0 Dashboard, including extensions. |
| Editor - Connections | Read, write, and create access to all types of connections. |
| Editor - Key Management | Create and manage cryptographic keys. |
| Editor - Organizations | Read, write, and create access to Organization configuration. Read-only access to Users, Roles, and Connections. |
| Editor - Specific Apps | Read and write access to specific applications only. |
| Editor - Users | User management operations (create, delete, block, unblock, reset MFA, reset password, update metadata, assign roles, etc.) and access to logs. |
| Viewer - Users | Read-only access to users and user-related logs. |
| Viewer - Config Settings | Read-only access to all configuration settings (applications, APIs, rules, security settings, etc.) except for sensitive information such as secrets, billing, users, and logs. |
| Support Access - Deprecated | Access to tickets (submit, view, and update) and aggregated metrics. |
| Elevated Support Access | Read, write, and create access to all support tickets created by all users on a tenant (Subscripton Tickets in Auth0 Support Center). Access to aggregated metrics. |
| Dashboard Section | Subsection (if applicable) | Read/Write Access | Read-Only Access |
|---|---|---|---|
| Authentication | Database | ✅ | |
| Social | ✅ | ||
| Enterprise | ✅ | ||
| Passwordless | ✅ | ||
| Marketplace | ✅ | ||
| Get Support | Support Tickets - Create | ✅ | |
| Usage Reports | ✅ | ||
| Compliance | ✅ |
| Dashboard Section | Subsection (if applicable) | Read/Write Access | Read-Only Access |
|---|---|---|---|
| Settings | General | ✅ | |
| Encryption Keys | ✅ |
| Dashboard Section | Subsection (if applicable) | Read/Write Access | Read-Only Access |
|---|---|---|---|
| Authentication | Database | ✅ | |
| Social | ✅ | ||
| Enterprise | ✅ | ||
| Passwordless | ✅ | ||
| Organizations | List | ✅ | |
| Overview | ✅ | ||
| Members | ✅ | ||
| Invitations | ✅ | ||
| Connections | ✅ | ||
| User Management | Users | ✅ | |
| Roles | ✅ | ||
| Marketplace | ✅ | ||
| Get Support | Support Tickets - Create | ✅ | |
| Usage Reports | ✅ | ||
| Compliance | ✅ |
| Dashboard Section | Subsection (if applicable) | Read/Write Access | Read-Only Access |
|---|---|---|---|
| Applications | Applications | ✅ + | |
| SSO Integrations | ✅ + | ||
| Marketplace | ✅ | ||
| Get Support | Support Tickets - Create | ✅ | |
| Usage Reports | ✅ | ||
| Compliance | ✅ |
| Dashboard Section | Subsection (if applicable) | Read/Write Access | Read-Only Access |
|---|---|---|---|
| Organizations | List | ✅ | |
| Members | ✅ | ||
| Invitations | ✅ | ||
| User Management | Users | ✅ | |
| Roles | ✅ | ||
| Monitoring | Logs | ✅ + | |
| Marketplace | ✅ | ||
| Get Support | Support Tickets - Create | ✅ | |
| Usage Reports | ✅ | ||
| Compliance | ✅ |
| Dashboard Section | Subsection (if applicable) | Read/Write Access | Read-Only Access |
|---|---|---|---|
| Organizations | List | ✅ | |
| Members | ✅ | ||
| User Management | Users | ✅ | |
| Roles | ✅ | ||
| Monitoring | Logs | ✅ + | |
| Marketplace | ✅ | ||
| Get Support | Support Tickets - Create | ✅ | |
| Usage Reports | ✅ | ||
| Compliance | ✅ |
| Dashboard Section | Subsection (if applicable) | Read/Write Access | Read-Only Access |
|---|---|---|---|
| Applications | Applications | ✅ + | |
| APIs | ✅ + | ||
| SSO Integrations | ✅ + | ||
| Authentication | Database | ✅ + | |
| Social | ✅ + | ||
| Enterprise | ✅ + | ||
| Passwordless | ✅ + | ||
| Organizations | List | ✅ | |
| Overview | ✅ | ||
| Connections | ✅ | ||
| User Management | Roles | ✅ | |
| Branding | Universal Login | ✅ | |
| Custom Domains | ✅ | ||
| Email Templates | ✅ | ||
| Email Providers | ✅ + | ||
| Security | Attack Protection | ✅ | |
| Multi-factor Auth | ✅ + | ||
| Actions | Flows | ✅ | |
| Library | ✅ | ||
| Auth Pipeline | Rules | ✅ + | |
| Marketplace | ✅ | ||
| Settings | General | ✅ | |
| Advanced | ✅ | ||
| Get Support | Support Tickets - Create | ✅ | |
| Usage Reports | ✅ | ||
| Compliance | ✅ |
| Dashboard Section | Subsection (if applicable) | Read/Write Access | Read-Only Access |
|---|---|---|---|
| Activity | Stats | ✅ + | |
| Get Support | Support Tickets - Create | ✅ | |
| Support Tickets - Manage All Users Tickets | ✅ | ||
| Usage Reports | ✅ | ||
| Compliance | ✅ |
| Read... | To learn... |
|---|---|
| Universal Login | What is Universal Login. |
| Universal vs. Embedded Login | What the differences are between Universal Login and Embedded Login. |
| Embedded Login | How Embedded Login works. |
| Cross-Origin Authentication | About the cross-origin authentication flow using third-party cookies. |
| Silent Authentication | How to keep users logged in to your application using silent authentication. |
| Redirect After Login | How to redirect users to URLs after login. |
| Logout | How logging out works with Auth0. |
| Adopt OIDC Conformant Auth | What the OIDC-conformant application setting is and its effect on the authentication pipeline. |
| Read... | To Learn... |
|---|---|
| Client-Initiated Backchannel Authentication Flow | How to build a decoupled authentication flow. |
| Field | Description |
|---|---|
| Friendly Name | Name of your company |
| Logo URL | URL of your company logo |
| Support Email | Email address of your company's support team |
| Support URL | URL of your company's support page |
| Parameter | Description |
|---|---|
client\_id |
Identifier of the Auth0 application. |
connection |
Connection used at the time of error. |
lang |
Language set for use at the time of error. |
error |
Error code of the error. |
error\_description |
Description of the error. |
tracking |
Identifier used by Auth0 to find errors in internal logs. |
| Option | Description |
|---|---|
Continue |
Prompts the user for Biometric Factor Enrollment |
Remind me later |
Skips enrollment and prompts for enrollment again in two weeks |
Not on this device |
Does not prompt enrollment for 1 year or as long as the Auth0 cookies are stored in the users' browser |
| Feature | Universal Login | Classic Login |
|---|---|---|
| Adopt new features without changing HTML | Yes | No |
| Ongoing development and new feature additions | Yes | No |
| Lightweight HTML | Yes | No |
| JavaScript required | No | Yes |
| Customization | Yes, using page templates or the no-code editor | Yes, using HTML, and only for login, multi-factor authentication (MFA), and password reset pages |
| No-Code solution | Yes, using the no-code editor | No |
| Passwordless authentication | Yes | Yes, with SMS or Email |
| Email magic link | No | Yes |
| Passkeys | Yes | No |
| WebAuthn and device biometrics | Yes | No |
| Web Content Accessibility Guidelines (WCAG) Compliance | Yes | No |
| Organizations support | Yes | No |
| Terms of service acceptance on signup | Yes | Yes |
| Custom fields on signup | Yes | Yes |
| Full localization | Yes, in these languages | Only for the login page |
| Customizable localized text on all pages | Yes | No |
| Email MFA | Yes | No |
| Voice MFA | Yes | No |
| Duo MFA | Yes, but Duo must be the only MFA factor enabled | Yes |
| MFA customization with Actions | Yes | No |
| Buttons for enterprise connections | Yes | No |
| Ability to disable self-service password recovery | Yes | Yes |
| Custom URLs for password reset and user signup | Yes, using page templates and a custom-built password reset or signup page | Yes |
| Kerberos support for AD/LDAP connections | No | Yes |
| Requires exposing identity provider domains in a public endpoint | No | Yes |
/authorize parameters |
No existing session | Existing session |
|---|---|---|
| no extra parameters | Shows the login page | Redirects to the callback url |
screen\_hint=signup |
Shows the signup page | Redirects to the callback url |
prompt=login |
Shows the login page | Shows the login page |
prompt=login\&screen\_hint=signup |
Shows the signup page | Shows the signup page |
| Response | Description |
|---|---|
login\_required |
The user was not logged in at Auth0, so silent authentication is not possible. This error can occur based on the way the tenant-level Log In Session Management settings are configured; specifically, it can occur after the time period set in the Require log in after setting. See Configure Session Lifetime Settings for details. |
consent\_required |
The user was logged in at Auth0, but needs to give consent to authorize the application. |
interaction\_required |
The user was logged in at Auth0 and has authorized the application, but needs to be redirected elsewhere before authentication can be completed; for example, when using a redirect rule. |
| Property | Type | Required? | Description | Supported values |
|---|---|---|---|---|
mode |
string | Required | Configuration method for enabling initiators. | custom, all |
selected\_initiators |
array | Required if mode is custom |
List of initiators to enable. | rp-logout, idp-logout, password-changed, session-expired, session-revoked, account-deleted, email-identifier-changed |
| Value | Description |
|---|---|
custom |
Enables only the initiators listed in the selected\_initiators array. |
all |
Automatically enables all current and future initiators. |
| Value | Description |
|---|---|
rp-logout |
Request was initiated by a relying party (RP). |
idp-logout |
Request was initiated by an external identity provider (IdP). |
password-changed |
Request was initiated by a password change. |
session-expired |
Request was initiated by session expiration. |
session-revoked |
Request was initiated by session deletion. |
account-deleted |
Request was initiated by an account deletion. |
email-identifier-changed |
Request was initiated by an email identifier change. |
| Parameter | Required? | Description |
|---|---|---|
id\_token\_hint |
Recommended | ID token previously issued for the user. That indicates which user to log out. |
logout\_hint |
Optional | Session ID (sid) value that indicates which user to log out. |
post\_logout\_redirect\_uri |
Optional | Redirect URL value that indicates where to redirect the user after logout. |
client\_id |
Optional | Client ID of your application. |
federated |
Optional | Directs Auth0 to log the user out of their identity provider. |
state |
Optional | Opaque value that the application adds to the initial logout request, and that Auth0 includes when redirecting the back to the post\_logout\_redirect\_uri. |
ui\_locales |
Optional | Space-delimited list of locales used to constrain the language list for the request. The first locale on the list must match the enabled locale in your tenant. |
| Request Type | Body |
|---|---|
grant\_type |
urn:ietf:params:oauth:grant-type:token-exchange |
subject\_token\_type |
[http://auth0.com/oauth/token-type/apple-authz-code](http://auth0.com/oauth/token-type/apple-authz-code) |
| Endpoint | Path | Limited By | Rate Limit |
|---|---|---|---|
| Get Token | /oauth/token |
Any native social login request | 50 per minute with bursts up to 500 requests |
| Endpoint | Path | Limited By | Rate Limit |
|---|---|---|---|
| Get Token | /oauth/token |
Native social login requests and IP | 30 per minute |
| Feature | Hosted | Embedded |
|---|---|---|
| Single Sign-on | Full support with Universal Login through the use of session cookies on the Auth0 Authorization Server (your Auth0 tenant). | Limited support. Web applications that use the Lock or Auth0.js libraries can share sessions. Native applications can share sessions with web applications through Native to Web SSO. |
| Customization | Universal Login allows you to easily customize many parts of the experience (including theming, page templates, text elements, and prompts). Full customization is supported through Advanced Customizations for Universal Login. |
Highest degree of customization, since you fully control the UI/UX of your application. |
| Feature management | Features can be centrally managed within the Auth0 Dashboard or through the Auth0 Management API. For example, when you enable/disable MFA in your Dashboard, it will be immediately reflected in subsequent user logins. |
Features must be managed for each application individually. For example, if you wanted to implement MFA for your web application and for your native application, you’d have to update and release new versions for both. |
| User experience | Users are redirected between your application and the Auth0 Authorization Server during authentication. For native applications, this requires implementation of universal/deep links. |
Users remain in your application during authentication. |
| Security and maintenance | Auth0 monitors security trends and updates Universal Login accordingly. | You are responsible for following security best practices and implementing provided technologies accordingly. |
| Factor | Description |
|---|---|
| The user is asked to enter their email address, to which Auth0 sends a one-time-use code. The user enters the code into your application. | |
| Magic Link | The user is asked to enter their email address, to which Auth0 sends an email with a link in it. The user clicks the link and is directly logged in to your application. |
| SMS | The user is asked to enter their phone number, to which Auth0 sends a one-time-use code. By default, Auth0 uses Twilio to send the code, but if you have a custom SMS gateway, you can modify your connection to use that instead. |
Redirecting to login...
; } return (| Field | Entry |
|---|---|
| Sign On URL |
`https://{yourDomain}/samlp/{CLIENT_ID}` will be the client\_id for the GitHub application you just created in Auth0.
|
| Issuer | `urn:auth0:{yourTenant}` |
| Public Certificate | Download it from `https://{yourDomain}/pem`. Open the downloaded file with a text editor, copy the contents and paste it in the text area on GitHub. |
| Signature method | `RSA256-SHA256` |
| Digest method | `SHA256` |
| Field | Entry |
|---|---|
| Sign On URL |
`https://{yourDomain}/samlp/{CLIENT_ID}` will be the client\_id for the GitHub application you just created in Auth0.
|
| Issuer | `urn:auth0:{yourTenant}` |
| Public Certificate | Download it from `https://{yourDomain}/pem`. Open the downloaded file with a text editor, copy the contents and paste it in the text area on GitHub. |
| Signature method | `RSA256-SHA256` |
| Digest method | `SHA256` |
| Parameter | Description |
|---|---|
| client\_id | The value of your Auth0 Client Id. You can retrieve it from the Settings of your Application at the Auth0 Dashboard. |
| audience | The value of your API Identifier. You can retrieve it from the Settings of your API at the Auth0 Dashboard. |
| scope | The scopes which determine the claims to be returned in the ID Token and Access Token. For example, a scope of openid will return an ID Token in the response. In our example mobile app, we use the following scopes: create:timesheets read:timesheets openid profile email offline\_access. These scopes allow the mobile app to call the API, obtain a name, picture, and email claims in the ID Token. |
| response\_type | Indicates the Authentication Flow to use. For a mobile application using PKCE, this should be set to code. |
| code\_challenge | The generated code challenge from the code verifier. You can find instructions on generating a code challenge here. |
| code\_challenge\_method | Method used to generate the challenge. Auth0 supports only S256. |
| redirect\_uri | The URL which Auth0 will redirect the browser to after authorization has been granted by the user. The Authorization Code will be available in the code URL parameter. This URL must be specified as a valid callback URL under your Application's Settings. |
| Parameter | Description |
|---|---|
| grant\_type | This must be set to authorization\_code. |
| client\_id | The value of your Auth0 Client Id. You can retrieve it from the Settings of your Application at the Auth0 Dashboard. |
| code\_verifier | Cryptographically random key that was used to generate the code\_challenge passed to authorization URL (/authorize). |
| code | The authorization\_code received from the previous authorize call. |
| redirect\_uri | The URL must match the redirect\_uri passed in the previous section to /authorize. |
| Parameter | Description |
|---|---|
| grant\_type | This must be set to refresh\_token. |
| client\_id | The value of your Auth0 Client Id. You can retrieve it from the Settings of your Application at the Auth0 Dashboard. |
| refresh\_token | the Refresh Token to use, from the previous authentication result. |
{{ profile | json }}
| Management Operation | MCP Tool | Required Scope | Potential Implications |
|---|---|---|---|
| Get details about a specific Auth0 application | auth0\_get\_application |
read:clients |
Allows viewing potentially sensitive application configuration details |
| Get details about a specific Auth0 application | auth0\_get\_application |
read:clients |
Allows viewing potentially sensitive application configuration details |
| Create a new Auth0 application | auth0\_create\_application |
create:clients |
Enables creating new applications that could be used for authentication flows |
| Update an existing Auth0 application | auth0\_update\_application |
update:clients |
Can modify critical application settings, potentially disrupting authentication for users |
| List all resource servers (APIs) in the Auth0 tenant | auth0\_list\_resource\_servers |
read:resource\_servers |
Exposes all API configurations and their scopes |
| Get details about a specific Auth0 resource server | auth0\_create\_resource\_server |
create:resource\_servers |
Reveals API configuration details including signing algorithms and token settings |
| Create a new Auth0 resource server (API) | auth0\_get\_resource\_server |
read:resource\_servers |
Allows defining new APIs and scopes that could be used for access control |
| Update an existing Auth0 resource server (API) | auth0\_update\_resource\_server |
update:resource\_servers |
Can modify API configurations, potentially affecting applications that rely on those APIs |
| List all actions in the Auth0 tenant | auth0\_list\_actions |
read:actions |
Reveals all custom code that runs during authentication flows |
| Get details about a specific Auth0 action | auth0\_get\_action |
read:actions |
Exposes custom code and logic for authentication flows |
| Create a new Auth0 action | auth0\_create\_action |
create:actions |
Allows creation of custom code that can modify authentication flows and user data |
| Update an existing Auth0 action | auth0\_update\_action |
update:actions |
Can modify custom code that affects authentication security and behavior |
| Deploy an Auth0 action | auth0\_deploy\_action |
update:actions |
Pushes custom code into production, potentially affecting all users' authentication experience |
| List logs from the Auth0 tenant | auth0\_list\_logs |
read:logs |
Exposes detailed information about user activity, failed logins, and security events |
| Get a specific log entry by ID | auth0\_get\_log |
read:logs |
Provides detailed data about specific authentication events, potentially including PII |
| List all forms in the Auth0 tenant | auth0\_list\_forms |
read:forms |
Reveals custom form configurations for login, registration, and password reset |
| Get details about a specific Auth0 form | auth0\_get\_form |
read:forms |
Exposes detailed form configuration including field validation and design |
| Create a new Auth0 form | auth0\_create\_form |
create:forms |
Allows creation of custom authentication forms that collect user data |
| Update an existing Auth0 form | auth0\_update\_form |
update:forms |
Can modify user-facing forms, potentially affecting authentication experience |
| Publish an Auth0 form | auth0\_publish\_form |
update:forms |
Makes form changes live for all users, potentially affecting production authentication |
| Tool | Description | Natural language examples |
|---|---|---|
auth0\_list\_applications |
List all applications in the Auth0 tenant or search by name. | "Show me all my Auth0 applications." "Find applications with 'api' in their name." "What applications do I have in my Auth0 tenant?" |
auth0\_get\_application |
Get details about a specific Auth0 application. | "Show me details for the application called 'Customer Portal'." "Get information about my application with client ID ." "What are the callback URLs for my 'Mobile App'?" |
auth0\_create\_application |
Create a new Auth0 application. | "Create a new single-page application called 'Analytics Dashboard'." "Set up a new native mobile app called 'iOS Client'." "Create a machine-to-machine application for our background service." |
auth0\_update\_application |
Update an existing Auth0 application. | "Update the callback URLs for my 'Web App' to include `https://staging.example.com/callback`." "Change the logout URL for the 'Customer Portal'." "Add development environment metadata to my 'Admin Dashboard' application." |
| Tool | Description | Natural language examples |
|---|---|---|
auth0\_list\_resource\_servers |
List all resource servers (APIs) in the Auth0 tenant. | "Show me all the APIs in my Auth0 tenant." "List my resource servers." "What APIs have I configured in Auth0?" |
auth0\_get\_resource\_server |
Get details about a specific Auth0 resource server. | "Show me details for the 'User API'." "What scopes are defined for my 'Payment API'?" "Get information about the resource server with identifier `https://api.example.com`." |
auth0\_create\_resource\_server |
Create a new Auth0 resource server (API). | "Create a new API called 'Inventory API' with read and write scopes." "Set up a resource server for our customer data API." "Create an API with the identifier `https://orders.example.com`." |
auth0\_update\_resource\_server |
Update an existing Auth0 resource server. | "Add an 'admin' scope to the 'User API'." "Update the token lifetime for my 'Payment API' to 1 hour." "Change the signing algorithm for my API to RS256." |
| Tool | Description | Natural language examples |
|---|---|---|
auth0\_list\_actions |
List all Actions in the Auth0 tenant. | "Show me all my Auth0 Actions." "What Actions do I have configured?" "List the Actions in my tenant." |
auth0\_get\_action |
Get details about a specific Auth0 Action. | "Show me the code for my 'Enrich User Profile' Action." "Get details about my login flow Action." "What does my 'Add Custom Claims' Action do?" |
auth0\_create\_action |
Create a new Auth0 Action. | "Create an Action that adds user roles to tokens." "Set up an Action to log failed login attempts." "Create a post-login Action that checks user location." |
auth0\_update\_action |
Update an existing Auth0 Action. | "Update my 'Add Custom Claims' Action to include department information." "Modify the IP filtering logic in my security Action." "Fix the bug in my user enrichment Action." |
auth0\_deploy\_action |
Deploy an Auth0 Action. | "Deploy my 'Add Custom Claims' Action to production." "Make my new security Action live." "Deploy the updated user enrichment Action." |
| Tool | Description | Natural language examples |
|---|---|---|
auth0\_list\_logs |
List logs from the Auth0 tenant | "Show me recent login attempts." "Find failed logins from the past 24 hours." "Get authentication logs from yesterday." "Show me successful logins for user [john@example.com](mailto:john@example.com)." |
auth0\_get\_log |
Get a specific log entry by ID. | "Show me details for log entry ." "Get more information about this failed login attempt." "What caused this authentication error?" |
| Tool | Description | Natural language examples |
|---|---|---|
auth0\_list\_forms |
List all Forms in the Auth0 tenant. | "Show me all my Auth0 Forms." "What login Forms do I have configured?" "List the custom Forms in my tenant." |
auth0\_get\_form |
Get details about a specific Auth0 Form. | "Show me the details of my 'Corporate Login' Form." "What does my password reset Form look like?" "Get the configuration for my signup Form." |
auth0\_create\_form |
Create a new Auth0 Form. | "Create a new login Form with our company branding." "Set up a custom signup Form that collects department information." "Create a password reset Form with our logo." |
auth0\_update\_form |
Update an existing Auth0 Form. | "Update the colors on our login Form to match our new brand guidelines." "Add a privacy policy link to our signup Form." "Change the logo on our password reset Form." |
auth0\_publish\_form |
Publish an Auth0 Form. | "Publish my updated login Form." "Make the new signup Form live." "Deploy the password reset Form to production." |
| Name | URL | Description |
|---|---|---|
llms.txt |
[https://auth0.com/llms.txt](https://auth0.com/llms.txt) |
Concise summaries of all articles; best for quick context. |
llms-full.txt |
[https://auth0.com/docs/llms-full.txt](https://auth0.com/docs/llms-full.txt) |
Full content of all articles; best for deep indexing. |
| Parameter | Description |
|---|---|
subject\_token\_type |
Unique profile token type URI starting with `https://` or urnThe following namespaces are reserved and you can’t use them:
|
action\_id |
Action ID of Action associated with the Custom Token Profile. |
type |
Should be set to custom\_authentication. |
| Setting | Value |
|---|---|
Use \{attribute} as Identifier |
True |
Allow Signup with \{attribute} |
Required |
Require \{attribute} on user profile |
True |
| Username Length | Min: 1 Max: 15 |
| Allow usernames in email format | False |
| Allow usernames in phone number format | False |
| Option | |
|---|---|
| Use Email as Identifier | Turning this on will make email an identifier for this connection. Users will be able to use email for login and password reset. |
| Verification Method | Choose Email Verification link or One-Time Password (OTP). |
| Allow Signup with Email | Choose how email will be collected at signup
Signup flows include:
|
| Verify email on sign up | Users will be asked to verify their email address via magic link when signing up. |
| Require email on user profile | Requires email to be present across all operations that create or update a user profile on this connection. Will require email is present on the following:
|
| Option | |
|---|---|
| Use Username as Identifier | Turning this on will make username an identifier for this connection. Users will be able to use username for login and password reset. |
| Allow Signup with Username | Choose how the username will be collected at signup
Signup flows include:
|
| Require username on user profile | Requires username to be present across all operations that create or update a user profile on this connection. Will require username is present on the following:
|
| Username Length | Set the minimum and maximum values allowed for a user to have as username. |
| Option | |
|---|---|
| Use Phone Number as Identifier | Turning this on will make phone\_number an identifier for this connection. Users will be able to use phone\_number for login and password reset. |
| Allow Signup with Phone Number | Choose how the phone number will be collected at signup
Signup flows include:
|
| Verify phone on signup | Users will be required to verify their phone number via OTP when signing up. Please ensure you have configured a phone provider or your users will not be able to proceed with signing up. |
| Require phone on user profile | Requires phone to be present across all operations that create or update a user profile on this connection. Will require phone is present on the following:
|
| Parameter | Definition |
|---|---|
| Name | The name of the connection. The name must start and end with an alphanumeric character, contain only alphanumeric characters and dashes, and not exceed 35 characters. |
| Choose one or more attributes as user identifiers | Choose the [identifier attribute(s)](/docs/authenticate/database-connections/activate-and-configure-attributes-for-flexible-identifiers) for the connection. |
| Choose one or more authentication methods | Choose an authentication method to challenge users. |
| Use my own database | Toggle on if you have a database you want to connect with Auth0. |
| Disable Sign Ups | Prevents new user signups from public endpoints. |
| Promote Connection to Domain Level | Promote this connection to domain level to be used with third-party applications. |
| Name | Description | Parameters |
|---|---|---|
| Login Required |
Executes each time a user attempts to log in. | email, password |
| Create | Executes when a user signs up. | user |
| Verify | Executes after a user follows the verification link. | email |
| Change Password | Executes when a user clicks on the confirmation link after a reset password request. | email, newPassword |
| Get User | Retrieves a user profile from your database without authenticating the user. | email |
| Delete | Executes when a user is deleted using the API or Auth0 Dashboard. | id |
| Error | Login Script | Description |
|---|---|---|
new WrongUsernameOrPasswordError(\ |
Login | Occurs when the user's credentials are invalid. Passing no arguments or a falsey first argument will result in the error being logged as an fu event (invalid username/email) with an empty string for a user\_id. Providing a truthy first argument will result in the error being logged as an fp event (the user exists, but the password is invalid) with a user\_id value of auth0|\. To learn more, read Log Event Type Codes. |
new ValidationError(\ |
Create | Occurs when a user already exists in your database. |
callback(\ |
Change Password | Occurs when the user's password was not updated. |
callback(\ |
Get User | Occurs when the user is not found. |
new UnauthorizedError(\ |
All Login Scripts | Occurs when something went wrong while trying to reach the database. Preferred way of communicating errors back from custom databases to front-end. |
new Error(\ |
All Login Scripts | Occurs when something went wrong while trying to reach the database. |
error code: auth0\_idp\_error; user already exists |
Create | Occurs in legacy identity store when you attempt to create a user that already exists in your legacy identity store or in Auth0. |
error code: auth0\_idp\_error; user already exists |
Delete | Occurs in legacy identity store when you attempt to delete a user with custom database scripts. Error could also manifest as Error! There was a problem deleting [user@example.com](mailto:user@example.com) or Sandbox Error: Please implement the Delete script for this database connection at [https://manage.auth0.com/#/connections/database](https://manage.auth0.com/#/connections/database). |
| Parameter | Type | Description |
|---|---|---|
email |
String | User's current email address. |
newEmail |
String | Value to be set as user's new email address in external database. |
verified |
Boolean | Email verification status of the new email address. |
callback |
Function | Used to pass error data through the pipeline. |
| Parameter | Type | Required | Description |
|---|---|---|---|
error |
Object | Required | Contains error data. |
operationResult |
Boolean | Optional | Indicates the result of the change email operation. |
| Parameter | Type | Description |
|---|---|---|
email |
String | User's email address in Auth0 and external database. |
newPassword |
String | Value to be set as user's new password in the external database. This value is sent as plaintext to the function and should be encrypted before being sent to the external database. |
callback |
Function | Used to pass data or operation result data through the pipeline. |
| Parameter | Type | Required | Description |
|---|---|---|---|
error |
Object | Required | Contains error data. |
operationResult |
Boolean | Optional | Indicates the result of the change password operation. |
resultObj |
Object | Optional | Indicates that the change password operation succeeded. If the last\_password\_reset property is present, it will be updated on the user's profile. |
| Parameter | Description |
|---|---|
user |
Object. Contains user profile data sourced from the user creation process. |
callback |
Function. Used to pass error data through the pipeline. |
| Parameter | Type | Required | Description |
|---|---|---|---|
error |
Object | Required | Contains error data. |
| Parameter | Description |
|---|---|
errorCode |
(Required) String. Specifies the type of error. |
message |
(Optional) String. Contains information about the error. |
| Tenant Log Event Field | Value |
|---|---|
| Code | fs |
| Event | Failed Signup |
| Description | My custom error message. |
| Property | Description |
|---|---|
client\_id |
The Auth0 application's client ID if the user signed up through Universal Login, or the API key if the user was created through the Auth0 Dashboard or Management API. |
tenant |
The Auth0 tenant name. |
email |
The user's email address. |
password |
The user's password in plain text. |
username |
The user's username. Required only if the custom database connection has the Requires Username setting enabled. |
connection |
The Auth0 connection name. |
user\_metadata |
Contains the properties of the user\_metadata object on the user's Auth0 profile, if the object exists. |
app\_metadata |
Contains the properties of the app\_metadata object on the user's Auth0 profile, if the object exists. |
| Parameter | Type | Description |
|---|---|---|
id |
String | User’s identity user\_id. Does not start with auth0. |
callback |
Function | Used to pass error or profile data through the pipeline. |
| Parameter | Type | Required | Description |
|---|---|---|---|
error |
Object | Required | Contains error data. |
| Parameter | Type | Description |
|---|---|---|
email |
String | The user's email address. |
callback |
Function | Used to pass error or profile data through the pipeline |
| Parameter | Type | Required | Description |
|---|---|---|---|
error |
Object | Required | Contains error data. |
profile |
Object | Optional | Contains the user's profile data. |
| Parameter | Type | Description |
|---|---|---|
userNameOrEmail |
String | The user's username or email. |
password |
String | The user's password in plain text. |
callback |
Function | Used to pass error or profile data through the pipeline. |
| Parameter | Type | Required | Description |
|---|---|---|---|
error |
Object | Required | Contains error data. |
profile |
Object | Optional | Contains the user's profile data. |
| Parameter | Type | Required | Description |
|---|---|---|---|
userNameOrEmail |
String | Required | Contains the user's username or email, or a null value. |
message |
String | Optional | Contains information about the error. |
| Tenant Log Event Field | Value |
|---|---|
| Code | fp |
| Event | Failed Login (Incorrect Password) |
| Description | My custom error message |
| Tenant Log Event Field | Value |
|---|---|
| Code | fu |
| Event | Failed Login (Invalid Email/Username) |
| Description | My custom error message |
| Parameter | Type | Description |
|---|---|---|
email |
String | User's email address. |
callback |
Function | Used to pass error or profile data through the pipeline. |
| Parameter | Type | Required | Description |
|---|---|---|---|
error |
Object | Required | Contains error data. |
verified |
Boolean | Optional | Contains value that represents the user's verification status in the external database (true or false). Only required if the value is true. |
| Key | Value |
|---|---|
client\_id |
Client ID of the application you created. |
client\_secret |
Client Secret of the application you created. |
auth0\_domain |
Your tenant name in the Auth0 domain: yourTenant.us.auth0.com. |
source\_database |
Name of the source connection. |
| Passkey authentication UI | Description |
|---|---|
| Autofill | Users must log in with their browser’s autofill feature to leverage passkeys. Autofill allows users to select a saved account from a dropdown menu when engaging with the login prompt. With autofill, users do not need to manually enter their credentials. |
| Passkey button | Users must select the Continue with a passkey button on the login prompt. |
| Both | Users can trigger passkey authentication using autofill or by selecting the Continue with a passkey button on the login prompt. |
| Event code | Scenario | Notes |
|---|---|---|
ss |
During signup, a user registered a passkey as their primary authentication method. | This log event contains the details.authentication\_methods array field with the entry value passkey.If a user registered with a password, this array field contains the entry value pwd. |
s |
During login, a user authenticated with a passkey. | This log event contains the details.prompts array which lists the set of prompts a user navigated through during login.If a user authenticated using a passkey, the array contains an element with the following field: "performed\_amr": \["phr"]. |
gd\_enrollment\_complete |
A progressive or local enrollment flow was successfully completed. | This log event contains the details.authenticator.type field with the value passkey if a user enrolled a passkey. |
gd\_webauthn\_enrollment\_failed |
An error occurred during a progressive or local enrollment flow. | This log event contains the details.authentication\_methods array field with the entry value passkey if a user tried to enroll a passkey. |
| Parameter | Description |
|---|---|
client\_id |
Required. The client\_id of your application. |
realm |
Optional. The name of the connection to associate with this user. If a connection is not specified, your tenant's default directory is used. |
user\_profile |
Required. An object containing identification information for the user. By default, this includes a valid email and an optional display name.If you have enabled Flexible Identifiers for your database connection, you may use a combination of email, phone\_number, or username as identifiers. These options can be required or optional and must match your Flexible Identifier configuration.If the passed identifier (such as email) already exists in the directory, the user should be prompted to complete the Login flow instead. |
| Parameter | Description |
|---|---|
grant\_type |
Required. Include the value: urn:okta:params:oauth:grant-type:webauthn |
client\_id |
Required. The client\_id of your application |
realm |
Optional. The name of the connection to associate with the user. If a connection is not specified, your tenant's default directory is used. |
scope |
Optional. Use openid to get an ID token or openid profile email to include user profile information in the ID token. |
audience |
Optional. API identifier of the API for which you want to get an access token. |
auth\_session |
Required. Session ID returned during the initial passkey challenge request. |
authn\_response |
Required. An object containing the following items:
|
authn\_response.id |
Required. Base64URL credential ID. |
authn\_response.rawId |
Required. Base64URL credential ID. |
authn\_response.type |
Required. Include the value: public-key |
authn\_response.authenticatorAttachment |
Required. Include the values:
|
authn\_response.response |
Required. An object containing the following items:
|
| Parameter | Description |
|---|---|
type |
Required. Include the value: public-key. |
connection |
Optional. The name of the connection in which to create the passkey. |
identity |
Optional. The user's identity. Used with linked accounts. |
| Parameters | Description |
|---|---|
auth\_session |
Required. The session identifier received in the response of the first POST request to /me/v1/authentication-methods. |
authn\_response |
Required. The authn\_response parameter is based on the Web Authentication API specification. In the native passkey flow, the information passed to this endpoint can be retrieved through your mobile application’s native APIs. |
authn\_response.id |
Required. Base64URL credential ID. |
authn\_response.rawId |
Required. Base64URL credential ID. |
authn\_response.type |
Required. Include the value: public-key. |
authn\_response.authenticatorAttachment |
Required. Include the values: platform, cross-platform. |
authn\_response.response |
Required. An object containing the following items:
|
| Parameter | Description |
|---|---|
client\_id |
Required. The client\_id of your application. |
realm |
Optional. The name of the connection to associate with the user. If a connection is not specified, your tenant's default directory is used. |
| Parameter | Description |
|---|---|
grant\_type |
Required. Include the value: urn:okta:params:oauth:grant-type:webauthn |
client\_id |
Required. The client\_id of your application |
realm |
Optional. The name of the connection to associate with the user. If a connection is not specified, your tenant's default directory is used. |
scope |
Optional. Use openid to get an ID token or openid profile email to include user profile information in the ID token. |
audience |
Optional. API identifier of the API for which you want to get an access token. |
auth\_session |
Required. Session ID returned during the initial passkey challenge request. |
authn\_response |
Required. An object containing the following items:
|
authn\_response.id |
Required. Base64URL credential ID. |
authn\_response.rawId |
Required. Base64URL credential ID. |
authn\_response.type |
Required. Include the value: public-key |
authn\_response.authenticatorAttachment |
Optional. Include the values:
|
authn\_response.response |
Required. An object containing the following items:
|
authn\_response.clientExtensionResults |
Optional. Contains results of processing client extensions requested by the relying party. |
| Read... | To learn... |
|---|---|
| Social Identity Providers | About the external social Identity Providers supported by Auth0. |
| Enterprise Identity Providers | About the external enterprise Identity Providers supported by Auth0. |
| Legal Identity Providers | About the external legal Identity Providers supported by Auth0. |
| Pass Parameters to Identity Providers | How to pass provider-specific parameters to an Identity Provider during authentication. |
| Call an Identity Provider API | How to call an external Identity Provider's API. |
| Add Scopes/Permissions to Call Identity Provider APIs | How to work with scopes when calling an external Identity Provider's API. |
| View Connections | How to view the configured connections for your application using the Auth0 Dashboard. |
| Retrieve Connection Options | How to retrieve the options object for a connection using Auth0's Management API. |
| Promote Connections to Domain Level | How to allow third-party applications to use a connection when your tenant has Dynamic Client Registration enabled. |
| Test Partner Connections | How partners can test connections. |
| Field | Description |
|---|---|
| Connection name | Logical identifier for your connection; it must be unique for your tenant. Once set, this name can't be changed. |
| Display name (optional) | Text used to customize the login button for Universal Login. When set, the Universal Login login button reads: "Continue with \{Display name}". |
| Logo URL (optional) | URL of image used to customize the login button for Universal Login. When set, the Universal Login login button displays the image as a 20px by 20px square. |
| IdP Domains (optional) | Comma-separated list of valid email domains that will be allowed to log in using this connection. Only needed if using the Lock login widget. |
| Disable cache | When enabled, disables caching. |
| Use client SSL certificate authentication | When enabled, uses client SSL certificate authentication. |
| Use Windows Integrated Auth (Kerberos) | When enabled, you will be asked to enter a range of IP addresses. When users log in through these IP addresses, Kerberos will be used; otherwise, AD/LDAP username/password will be requested. Typically, the IP range entered represent intranet addresses. |
| Sync user profile attributes at each login | When enabled, Auth0 automatically syncs user profile data with each user login, thereby ensuring that changes made in the connection source are automatically updated in Auth0. |
| Setting | Description | Default |
|---|---|---|
AD\_HUB |
The Auth0 endpoint to which the connector will connect. This value is maintained by the connector. | |
CA\_CERT |
An authority certificate or array of authority certificates to check the remote host against. | |
CLIENT\_CERT\_AUTH |
Specifies if Client Certificate Authentication is enabled or not. This value is configured in Auth0 and maintained by the connector. | |
CONNECTION |
The name of the connection in Auth0 which is linked to this instance of the connector. This value is maintained by the connector. | |
CONNECTIONS\_API\_V2\_KEY |
A Management API token used to call the Get a connection endpoint. Set this when you need to troubleshoot the connector. This compares the local certificate to the one configured in Auth0 and detects a possible mismatch. | |
FIREWALL\_RULE\_CREATED |
Set to true once the Firewall rule has been created for the Kerberos Server (only when Kerberos is enabled). |
|
GROUPS |
Include the user's groups when enriching the profile. | true |
GROUP\_PROPERTY |
The attribute of the group object used when adding the groups to a user. | cn |
GROUPS\_CACHE\_SECONDS |
Total time in seconds to cache a user's groups. | 600 seconds. |
GROUPS\_TIMEOUT\_SECONDS |
The timeout in seconds for searching all groups a user belongs to. | 20 seconds |
HTTP\_PROXY |
The proxy server URL if one is required to connect from the AD/LDAP Connector to Auth0. | |
KERBEROS\_AUTH |
Set if Kerberos Authentication is enabled or not. This value is configured in Auth0 and maintained by the connector. | |
LAST\_SENT\_THUMBPRINT |
Thumbprint of the last certificate which was sent to Auth0. | |
LDAP\_BASE |
Defines the location in the directory where the LDAP search begins. For example: DC=fabrikam,DC=local. |
|
LDAP\_BASE\_GROUPS |
Defines the location in the directory where the LDAP groups search begins. | |
LDAP\_BIND\_PASSWORD |
The password of the LDAP user. This setting is automatically removed after the connector initializes. | |
LDAP\_BIND\_CREDENTIALS |
The encrypted password of the LDAP user. This setting is automatically added after the connector initializes. | |
LDAP\_BIND\_USER |
The user for binding a connection to LDAP. | |
LDAP\_HEARTBEAT\_SEARCH\_QUERY |
The LDAP search query used for heartbeat checks. | (&(objectclass=user)(|(sAMAccountName=foo)(UserPrincipalName=foo))) |
LDAP\_HEARTBEAT\_SECONDS |
Time in seconds to keep the LDAP connection open. | |
LDAP\_SEARCH\_ALL\_QUERY |
The LDAP query used to list all users in the LDAP store. | (objectCategory=person) |
LDAP\_SEARCH\_GROUPS |
The LDAP query used to find groups in the LDAP store. For example: (&(objectCategory=group)(member=)) |
(member:1.2.840.113556.1.4.1941:=) |
LDAP\_SEARCH\_QUERY |
The LDAP query used to find users in the LDAP store. | (&(objectCategory=person)(anr=)) |
LDAP\_USER\_BY\_NAME |
The LDAP query used to find the user during authentication. This setting lets you specify which attribute is considered the user's username. For example, like the common name: the sAMAccountName, UPN, et cetera. This setting also supports multiple values for an OR search, for example: (|(sAMAccountName=)(userPrincipalName=)) |
(sAMAccountName=) |
LDAP\_URL |
The LDAP connection string. For example: ldap\://fabrikam-dc.fabrikam.local. |
|
PORT |
The port the server runs on when Kerberos or Client Certificate Authentication is enabled. | |
PROVISIONING\_TICKET |
The Auth0 provisioning ticket used to communicate with Auth0. | |
REALM |
The Auth0 realm, for example: urn:auth0:fabrikam. This value is maintained by the connector. |
|
SERVER\_URL |
The default connector URL will be server-name:port, but this setting allows you to overwrite this. For example: connector.mycompany.com. |
|
SESSION\_SECRET |
The session secret used to encrypt the session cookie. | |
SITE\_NAME |
When Client Certificate Authentication is enabled, but not possible the AD Connector will show a fallback login page. This setting allows you to specify the title that will show on top of the page. | Name of the AD connection. |
SSL\_CA\_PATH |
Absolute path to the base directory where the CA certificate file(s) are located. | |
SSL\_KEY\_PASSWORD |
The password for the SSL certificate. | |
SSL\_PFX |
Base64 encoded certificate to use for SSL. | |
TENANT\_SIGNING\_KEY |
Your Auth0 tenant used to verify JWTs. | |
WSFED\_ISSUER |
The issuer being set in the WS-Federation responses. If a connection is configured with email domains, the first email domain configured in Auth0 will be used as issuer. | urn:auth0 |
| Test | Description | Troubleshoot |
|---|---|---|
| Test 1 | Attempts to establish a TCP connection to the LDAP server and port specified. | Check basic network connectivity and firewall settings that might prevent such a connection. |
| Test 2 | Attempts to perform an LDAP bind on the LDAP server and port specified and with the username and password provided. | Check the LDAP connection string, search path, username and password. |
| Test 3 | Attempts to perform an LDAP search against the directory to check the privileges of the specified username. | Check the privileges of the username in the target directory. |
| Test 4 | Attempts to establish a connection to the Auth0 server. | Check network connectivity and firewall settings that might prevent such a connection. |
| Setting | Description |
|---|---|
| LDAP Connection String | For example, ldap\://ldap.internal.contoso.com. This is the protocol + the domain name or ip address of your LDAP server. Your LDAP server is the local domain controller where Active Directory is installed. The protocol can be either ldap or ldaps. If you need to use ldaps make sure that the certificate is valid in the current server. |
| Base DN | For example, dc=contoso,dc=com. This is the base container for all the queries performed by the connector. |
| Username | For example, cn=svcauth0,dc=services,dc=contoso,dc=com The full distinguish name of a user to perform queries. |
| Password | The password of the user. |
| Test | Description | Troubleshoot |
|---|---|---|
| Test 1 | Attempts to establish a TCP connection to the LDAP server and port specified. | Check basic network connectivity and firewall settings that might prevent such a connection. |
| Test 2 | Attempts to perform an LDAP bind on the LDAP server and port specified and with the username and password provided. | Check the LDAP connection string, search path, username and password. |
| Test 3 | Attempts to perform an LDAP search against the directory to check the privileges of the specified username. | Check the privileges of the username in the target directory. |
| Test 4 | Attempts to establish a connection to the Auth0 server. | Check network connectivity and firewall settings that might prevent such a connection. |
| Test | Description | Troubleshoot |
|---|---|---|
| Test 1 | Attempts to establish a TCP connection to the LDAP server and port specified. | Check basic network connectivity and firewall settings that might prevent such a connection. |
| Test 2 | Attempts to perform an LDAP bind on the LDAP server and port specified and with the username and password provided. | Check the LDAP connection string, search path, username and password. |
| Test 3 | Attempts to perform an LDAP search against the directory to check the privileges of the specified username. | Check the privileges of the username in the target directory. |
| Test 4 | Attempts to establish a connection to the Auth0 server. | Check network connectivity and firewall settings that might prevent such a connection. |
| In Windows Server 2012 | In Windows Server 2016 |
|---|---|
| In the Actions panel on the right side of the console, find the Relying Party Trust you just created. Beneath it, click Edit Claim Issuance Policy. | In the console tree, under ADFS, click Relying Party Trusts. On the right side of the console, find the Relying Party Trust you just created. Right-click it and click Edit Claim Issuance Policy. |
| LDAP Attribute | Outgoing Claim Type |
|---|---|
| E-Mail-Addresses | E-Mail Address |
| Display-Name | Name |
| User-Principal-Name | Name ID |
| Given-Name | Given Name |
| Surname | Surname |
| Field | Description |
|---|---|
| Connection name | Logical identifier for your connection; it must be unique for your tenant. Once set, this name can't be changed. |
| Microsoft Azure AD Domain | Your Azure AD domain name. You can find this on your Azure AD directory's overview page in the Microsoft Azure portal. |
| Client ID | Unique identifier for your registered Azure AD application. Enter the saved value of the Application (client) ID for the Native application you registered in Azure AD. |
| Client Secret | String used to gain access to your registered Azure AD application. Enter the saved value of the Client secret for the Native app you registered in Azure AD. |
| Use common endpoint (optional) | When enabled, your application will dynamically accept users from new directories. Typically enabled if you selected a multitenant option for Supported account types for the application you registered in Azure AD. When enabled, Auth0 will redirect users to Azure's common login endpoint, and Azure will perform Home Realm Discovery based on the domain of the user's email address. |
| Identity API | API used by Auth0 to interact with Azure AD endpoints. Learn about the differences in behavior in Microsoft's Why update to Microsoft identity platform (v2.0) doc. Select Azure Active Directory (v1), and for App ID URI, enter the saved value of the Application ID URI that was created when you configured your Web application to expose an API. |
| Attributes | Basic attributes for the signed-in user that your app can access. Indicates how much information you want stored in the Auth0 User Profile. |
| Extended Attributes (optional) | Extended attributes for the signed-in user that your app can access. |
| Auth0 APIs (optional) | When selected, indicates that you require the ability to make calls to the Azure AD Users API. |
| Sync user profile attributes at each login | When enabled, Auth0 automatically syncs user profile data with each user login, thereby ensuring that changes made in the connection source are automatically updated in Auth0. |
| Email Verification | Choose how Auth0 sets the email\_verified field in the user profile. To learn more, see Email Verification for Azure AD and ADFS. |
| Option | Setting |
|---|---|
| Supported account types | To enable SCIM-based user provisioning from this directory, select Accounts in this organizational directory only (Single tenant). To allow users from external organizations (like other Azure AD directories) choose the appropriate multitenant option. Multitenant options include the following: Accounts in any organizational directory (Any Azure AD directory - Multitenant). |
| Redirect URI | Select a Redirect URI type of Web, and enter your callback URL: `https://{yourDomain}/login/callback`. |
| Delegated Permissions | Description |
|---|---|
| Users > User.Read | So your app can sign in users and read the signed-in users' profiles. |
| Directory > Directory.Read.All | So your app can read directory data on the signed-in user's behalf. |
| Field | Description |
|---|---|
| Connection name | Logical identifier for your connection; it must be unique for your tenant. Once set, this name can't be changed. |
| Microsoft Azure AD Domain | Your Azure AD domain name. You can find this on your Azure AD directory's overview page in the Microsoft Azure portal. |
| Client ID | Unique identifier for your registered Azure AD application. Enter the saved value of the Application (client) ID for the app you just registered in Azure AD. |
| Client Secret | String used to gain access to your registered Azure AD application. Enter the saved value of the Client secret for the app you just registered in Azure AD. |
| User ID Attribute Type | Attribute in the ID token that will be mapped to the user\_id property in Auth0. The options correspond to the two supported ID types described in Microsoft's documentation: ID token claims reference - Microsoft identity platform. |
| Use common endpoint | (Optional) When enabled, your application will dynamically accept users from new directories. Typically enabled if you selected a multi-tenant option for supported account types for the application you just registered in Azure AD. Auth0 redirects users to Azure's common login endpoint and Azure performs Home Realm Discovery based on the domain of the user's email address. |
| Identity API | API used by Auth0 to interact with Azure AD endpoints. Learn about the differences in behavior in Microsoft's Why update to Microsoft identity platform (v2.0) doc. |
| Attributes | Basic attributes for the signed-in user that your app can access. Indicates how much information you want stored in the Auth0 User Profile. |
| Extended Attributes (optional) | Extended attributes for the signed-in user that your app can access. |
| Auth0 APIs (optional) | When selected, indicates that we require the ability to make calls to the Azure AD API, which allows us to search for users in the Azure AD Graph even if they never logged in to Auth0. |
| Email Verification | Choose how Auth0 sets the email\_verified field in the user profile. To learn more, read Email Verification for Azure AD and ADFS. |
| Purpose | Enable the connection for Authentication, Connected Accounts for Token Vault, or both. To learn more, read [User authentication vs Connected Accounts](/docs/secure/tokens/token-vault/connected-accounts-for-token-vault#user-authentication-vs-connected-accounts). |
| Field | Description |
|---|---|
| Sync user profile attributes at each login | When enabled, Auth0 automatically syncs user profile data with each user login, thereby ensuring that changes made in the connection source are automatically updated in Auth0. |
| Sync user profiles using SCIM | When enabled, Auth0 allows user profile data to be synced using SCIM. For more information, read Configure Inbound SCIM. |
| Field | Description |
|---|---|
| Home Realm Discovery | Compares a user's email domain with the provided identity provider domains. For more information, read Configure Identifier First Authentication |
| Display connection button | This option displays the following choices to customize your application's connection button. |
| Button display name (Optional) | Text used to customize the login button for Universal Login. When set the button reads: "Continue with \{Button display name}". |
| Button logo URL (Optional) | URL of image used to customize the login button for Universal Login. When set, the Universal Login login button displays the image as a 20px by 20px square. |
| Connection Type | “Native” Azure AD | Enterprise OIDC | SAML |
|---|---|---|---|
| Protocol | OAuth authorization code flow | OAuth implicit flow OR OAuth authorization code flow | SAML |
| Can receive optional claims from Azure AD? | No | Yes | Yes |
| Federated logout support (“Single Logout” or SLO) | Yes | No | Yes |
| Receive AD Groups | Yes, friendly names | Yes, object IDs | Yes, object IDs |
| Receive Extended Profile | Yes | No | No |
| Graph Attribute | Auth0 Profile Attribute | Data type | Equivalent optional claim for OIDC or SAML |
|---|---|---|---|
businessPhones |
phone |
array | N/A |
givenName |
given\_name |
string | given\_name |
jobTitle |
job\_title |
string | N/A |
mobilePhone |
mobile |
string | N/A |
preferredLanguage |
preferred\_language |
string | xms\_pl |
surname |
family\_name |
string | family\_name |
userPrincipalName |
upn |
string | upn |
| Value | Description |
|---|---|
auto |
Default value. Uses the strongest algorithm available. |
s256 |
Uses the SHA-256 algorithm. Auth0 does not currently support RS512 tokens. |
plain |
Uses plaintext as described in the PKCE specification. |
disabled |
Disables support for PKCE. |
| Property | Required? | Description |
|---|---|---|
mapping\_mode |
Required | Method used to map incoming claims. |
userinfo\_scope |
Optional | Scopes to send to the IdP's Userinfo endpoint. |
attributes |
Required | Object containing mapping details for incoming claims. |
| Value | Description |
|---|---|
use\_map |
Uses the provided template to map the data. |
bind\_all |
Copies all data elements provided by the IdP. |
| Property | Description |
|---|---|
context.connection |
Contains the following properties:id: The connection’s unique identifier (for example, con\_4423423423432423).strategy: The connection’s strategy (for example, oidc). |
context.tokenset |
Contains the following properties:access\_token: The entire validated access token sent by the IdP.\: Any ID token claim sent by the IdP. |
context.userinfo |
Contains the following properties:\: Any available claim provided by the IdP’s UserInfo endpoint. |
| Field | Description |
|---|---|
| Name | The name of your application. |
| Authorized JavaScript origins | `https://{yourDomain}` |
| Authorized redirect URIs | `https://{yourDomain}/login/callback` |
| Field | Description |
|---|---|
| Connection name | Logical identifier for your connection; it must be unique for your tenant. Once set, this name can't be changed. |
| Google Workspace Domain | Google Workspace domain name for your organization. |
| Client ID | Unique identifier for your registered Google application. Enter the saved value of the Client ID for the app you just registered in the Google Cloud console. |
| Client Secret | String used to gain access to your registered Google application. Enter the saved value of the Client Secret for the app you just registered in the Google Cloud console. |
| Attributes | Basic attributes for the signed-in user that your app can access. Indicates how much information you want stored in the Auth0 User Profile. Options include: Basic Profile (email, email verified flag) and Extended Profile (name, public profile URL, photo, gender, birthdate, country, language, and timezone). |
| Extended Attributes (optional) | Extended attributes for the signed-in user that your app can access. Options include: Groups (distribution list(s) to which the user belongs, including the Extended Group Attributes Format option that retrieves the group name, group email address, and the unique group ID), Is Domain Administrator (indicates whether the user is a domain administrator), Is Account Suspended (indicates whether the user's account is suspended), and Agreed to Terms (indicates whether the user has agreed to the terms of service). |
| Auth0 APIs (optional) | When Enable Users API is selected, indicates that you require the ability to make calls to the Google Directory API. |
| Auth0 User ID (optional) | By default, the Auth0 user\_id maps to email. By enabling Use ID instead of Email for Auth0 User ID, user\_id instead maps to id. This can only be set for new connections and cannot be changed once configured. |
| Sync user profile attributes at each login | When enabled, Auth0 automatically syncs user profile data with each user login, thereby ensuring that changes made in the connection source are automatically updated in Auth0. |
| Purpose | Enable the connection for Authentication, Connected Accounts for Token Vault, or both. To learn more, read [User authentication vs Connected Accounts](/docs/secure/tokens/token-vault/connected-accounts-for-token-vault#user-authentication-vs-connected-accounts). |
| Field | Description |
|---|---|
| Home Realm Discovery | Compares a user's email domain with the provided identity provider domains. For more information, read Configure Identifier First Authentication |
| Display connection button | This option displays the following choices to customize your application's connection button. |
| Button display name (Optional) | Text used to customize the login button for Universal Login. When set the button reads: "Continue with \{Button display name}". |
| Button logo URL (Optional) | URL of image used to customize the login button for Universal Login. When set, the Universal Login login button displays the image as a 20px by 20px square. |
/.well-known/openid-configuration endpoint. You can enter the base URL or the full URL. You will see a green checkmark if it can be found at that location, a red mark if it cannot be found, or an error message if the file is found but the required information is not present in the configuration file. For more information, read [Configure Applications with OIDC Discovery](/docs/get-started/applications/configure-applications-with-oidc-discovery). |
| **Client ID** | The identifier given to you by your provider. Unique identifier for your registered application. Enter the saved value of the Client ID for the app you registered with the OIDC Identity Provider. Each provider manages this step differently. |
| **Communication Channel** | Set to Front Channel or Back Channel. Front Channel uses the OIDC protocol with response\_mode=form\_post and response\_type=id\_token. Back Channel uses response\_type=code. |
| **Authentication Method** | Choose how your application authenticates with Auth0. |
| **Client Secret** | Available if Back Channel is chosen earlier. The secret given to you by your provider and each provider manages this step differently. |
| **Callback URL** | URL to which Auth0 redirects users after they authenticate. Ensure that this value is configured for the app you registered with the OIDC Identity Provider. |
| **Sync user profile attributes at each login** | f selected, your tenant updates the relevant name, nickname, given\_name, family\_name, or picture root attributes each time a user logs in. |
| **Promote Connection to Domain Level** | Allows third-party applications to access the connection. |
3. In the **Settings** view, make additional configuration adjustments, if necessary.
| **Field** | **Description** |
| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Connection Name** | The name you provided when you created this connection. It can't be changed. |
| **Connection Metadata** | Automatically generated when by the Well-Known Endpoint URL you provided in the previous screen, this can be overwritten by uploading a new metadata file. |
| **Authentication** | Set to **Front Channel** or **Back Channel**. Front Channel uses the OIDC protocol with `response_mode=form_post` and `response_type=id_token`. Back Channel uses `response_type=code`. Select **Manage Authentication** to update on the Credentials tab. |
| **Scopes** | A comma-separated list of Auth0 scopes to request when connecting to the Identify Provider. This will affect the data stored in the user profile. You are required to include at least the `openid` scope. Note that the connection does not call `/userinfo` endpoint and expects the user claims to be present in the `id_token`. |
| **Callback URL** | Some providers need this URL to complete your OIDC connection. |
| **User Mapping** | Provides templates to map specific user attributes to connection variables. |
| **Connection Profile** | To understand how to change your connection profile, read [Configure PKCE and Claim Mapping for OIDC Connections](/docs/authenticate/identity-providers/enterprise-identity-providers/configure-pkce-claim-mapping-for-oidc). |
| **Purpose** | Determines how you intend to use the connection, for user authentication, to connect external accounts to Auth0, or both. To learn more, read [User authentication vs Connected Accounts](/docs/secure/tokens/token-vault/connected-accounts-for-token-vault#user-authentication-vs-connected-accounts) |
| **Global Token Revocation** | Use the provided endpoint to terminate a user's Auth0 session by revoking refresh tokens. Cna be used with Universal Logout and Okta Workforce Identity Cloud. |
| **Promote Connection to Domain Level** | Allows third-party applications to access the connection. |
| Field | Description |
|---|---|
| Home Realm Discovery | Compares a user's email domain with the provided identity provider domains. For more information, read Configure Identifier First Authentication |
| Display connection button | This option displays the following choices to customize your application's connection button. |
| Field | Description |
|---|---|
| Connection name | Logical identifier for your connection; it must be unique for your tenant. Once set, this name can't be changed. |
| PingFederate Server URL | URL for your PingFederate Server. |
| X.509 Signing Certificate | PingFederate Server public key (encoded in PEM or CER) you retrieved from the IdP earlier in this process. |
| Sign Request | When enabled, the SAML authentication request will be signed. (Be sure to download and provide the PingFederate server with your tenant's certificate.) |
| Sign Request Algorithm | Algorithm Auth0 will use to sign the SAML assertions. Ensure this matches your PingFederate Server's configuration. |
| Sign Request Digest Algorithm | Algorithm Auth0 will use for the sign request digest. Ensure this matches your PingFederate Server's configuration. |
| Sync user profile attributes at each login | When enabled, Auth0 automatically syncs user profile data with each user login, thereby ensuring that changes made in the connection source are automatically updated in Auth0. |
| Field | Description |
|---|---|
| Home Realm Discovery | Compares a user's email domain with the provided identity provider domains. For more information, read Configure Identifier First Authentication |
| Display connection button | This option displays the following choices to customize your application's connection button. |
| Button display name (Optional) | Text used to customize the login button for Universal Login. When set the button reads: "Continue with \{Button display name}". |
| Button logo URL (Optional) | URL of image used to customize the login button for Universal Login. When set, the Universal Login login button displays the image as a 20px by 20px square. |
| Field | Description |
|---|---|
| Connection name | Logical identifier for your connection; it must be unique for your tenant and the same name used when setting the Post-back URL and Entity ID at the IdP. Once set, this name can't be changed. |
| Sign In URL | SAML single login URL. |
| X.509 Signing Certificate | Signing certificate (encoded in PEM or CER) you retrieved from the IdP earlier in this process. |
| Enable Sign Out | When enabled, a specific Sign Out URL can be set. Otherwise, the Sign In URL is used by default. |
| Sign Out URL (optional) | SAML single logout URL. |
| User ID Attribute (optional) | Attribute in the SAML token that will be mapped to the user\_id property in Auth0. |
| Debug Mode | When enabled, more verbose logging will be performed during the authentication process. |
| Sign Request | When enabled, the SAML authentication request will be signed. (Be sure to download and provide the accompanying certificate so the SAML IdP can validate the assertions' signature.) |
| Sign Request Algorithm | Algorithm Auth0 will use to sign the SAML assertions. |
| Sign Request Digest Algorithm | Algorithm Auth0 will use for the sign request digest. |
| Protocol Binding | HTTP binding supported by the IdP. |
| Request Template (optional) | Template that formats the SAML request. |
| Field | Description |
|---|---|
| Sync user profile attributes at each login | When enabled, Auth0 automatically syncs user profile data with each user login, thereby ensuring that changes made in the connection source are automatically updated in Auth0. |
| Sync user profiles using SCIM | When enabled, Auth0 allows user profile data to be synced using SCIM. For more information, see Configure Inbound SCIM. |
| Field | Description |
|---|---|
| Home Realm Discovery | Compares a user's email domain with the provided identity provider domains. For more information, read Configure Identifier First Authentication |
| Display connection button | This option displays the following choices to customize your application's connection button. |
| Button display name (Optional) | Text used to customize the login button for Universal Login. When set the button reads: "Continue with \{Button display name}". |
| Button logo URL (Optional) | URL of image used to customize the login button for Universal Login. When set, the Universal Login login button displays the image as a 20px by 20px square. |
| Value | Description |
|---|---|
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope create:connections. |
CONNECTION\_NAME |
Τhe name of the connection to be created. |
SIGN\_IN\_ENDPONT\_URL |
SAML single login URL for the connection to be created. |
SIGN\_OUT\_ENDPOINT\_URL |
SAML single logout URL for the connection to be created. |
BASE64\_SIGNING\_CERT |
X.509 signing certificate (encoded in PEM or CER) you retrieved from the IdP. |
| Field | Description |
|---|---|
| Name | The name of your application. |
| Sign-in Redirect URIs | `https://{YOUR_AUTH0_TENANT}.{YOUR_TENANT_REGION}.auth0.com/login/callback` |
| Trusted Origins | `https://{yourDomain}` |
| Field | Description |
|---|---|
| Connection name | Logical identifier for your connection; it must be unique for your tenant. Once set, this name can't be changed. |
| Okta Domain | Okta's domain name for your organization. |
| Client ID | Unique identifier for your registered Okta application. Enter the saved value of the Client ID for the app you just registered in the Okta admin console. |
| Client Secret | String used to gain access to your registered Okta application. Enter the saved value of the Client Secret for the app you just registered in the Okta admin console. |
| Field | Description |
|---|---|
| Sync user profile attributes at each login | When enabled, Auth0 automatically syncs user profile data with each user login, thereby ensuring that changes made in the connection source are automatically updated in Auth0. |
| Sync user profiles using SCIM | When enabled, Auth0 allows user profile data to be synced using SCIM. For more information, see Configure Inbound SCIM. |
| Field | Description |
|---|---|
| Home Realm Discovery | Compares a user's email domain with the provided identity provider domains. For more information, read Configure Identifier First Authentication |
| Display connection button | This option displays the following choices to customize your application's connection button. |
| Button display name (Optional) | Text used to customize the login button for Universal Login. When set the button reads: "Continue with \{Button display name}". |
| Button logo URL (Optional) | URL of image used to customize the login button for Universal Login. When set, the Universal Login login button displays the image as a 20px by 20px square. |
| Value | Description |
|---|---|
CONNECTION\_ID |
Τhe ID of the connection to be promoted. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the update:connections. |
| Value | Description |
|---|---|
CONNECTION\_ID |
Τhe ID of the connection for which you want to retrieve the options object. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope read:connections. |
| Parameter | Description |
|---|---|
code |
The password to use. |
link |
The generated sign-in link. |
application.name |
The name of the application with which the user is signing up. |
request\_language |
The requested language for message content. |
operation |
Indicates when the template has been triggered by an update to a user's email through the API. When triggered, the value is change\_email, otherwise it is null. |
| Parameter | Description |
|---|---|
code |
The password to use. |
link |
The generated sign-in link. |
application.name |
The name of the application with which the user is signing up. |
request\_language |
The requested language for message content. |
operation |
Indicates when the template has been triggered by an update to a user's email through the API. When triggered, the value is change\_email, otherwise it is null. |
| Parameter | Description |
|---|---|
password or code |
The password to use. |
phone\_number |
The user's phone number. |
application.name |
The name of the application with which the user is signing up. |
request\_language |
The requested language for message content. |
| Database connection | Passwordless connection | Need to specify? | User experience |
|---|---|---|---|
| Yes | SMS and/or Email | Yes | Specified Passwordless connection is presented during login. |
| No | SMS and Email | No | Passwordless connection that was created first is presented. |
| No | SMS or Email | No | Passwordless connection is presented (along with any enabled Social connections) during login. |
org\_id: The Organization IDorg\_name: The Organization namescim: When present, SCIM may be configured on the connection.universal\_logout: When present, the Universal Logout feature may be used with this connection.| Connection Profile Value | Enable Connectionsassign\_membership\_on\_loginValue |
|---|---|
none | false |
optional | false |
required | true |
| Connection Profile Value | Connection show\_as\_button Value |
|---|---|
none | false |
optional | true |
required | true |
| Property | Description |
|---|---|
type |
Set this property to back\_channel. |
token\_endpoint\_auth\_method |
Set this property to private\_key\_jwt. Notes:
|
token\_endpoint\_auth\_signing\_alg |
Set this property to RS256. Notes:
|
| Property | Description |
|---|---|
type |
Set this property to back\_channel. |
token\_endpoint\_auth\_method |
Set this property to private\_key\_jwt.Notes:
|
| Parameter | Required? | Description |
|---|---|---|
name |
Yes | String. Maximum length is 100. A user-friendly name for the self-service profile. |
description |
No | String. Maximum length is 140. A description of the self-service profile. |
allowed\_strategies |
No | Array. One or more identity providers that customer admins can use to implement SSO. If no parameters are selected, all are passed by default. Options include:
|
branding |
No | Object. Used to customize the styling of the self-service assistant presented to customer admins. |
branding.logo\_url |
No | String. Maximum length is 1024. An HTTPS URL that points to a logo image. If provided, this logo displays to the top right of the self-service assistant. |
branding.colors |
No | Object. Sets a primary color for certain elements of the self-service assistant, such as interactive buttons. |
branding.colors.primary |
Yes, when defining branding.colors. | String. Specifies the hex value of the primary color used for the self-service assistant. |
user\_attributes |
No | Object. Maximum length is 20. Stores mapping information presented to customer admins during the self-service assistant flow. Customer admins are instructed to map these attributes to their identity provider to ensure the specified attributes are passed to Auth0. |
user\_attributes\[].name |
Yes, when defining user\_attributes. | String. Maximum length is 255. Name of the user attribute in Auth0. |
user\_attributes\[].description |
Yes, when defining user attributes. | String. Maximum length is 255. Human-readable description of the user attribute. |
user\_attributes\[].is\_optional |
Yes, when defining user attributes. | Boolean. Indicates whether an attribute is optional or required by the customer in order for the application to function.
|
user\_attribute\_profile\_id |
No. | ID of the [User Attribute Profile](/docs/authenticate/enterprise-connections/user-attribute-profile) to associate with self-service accounts. |
| Property | Description |
|---|---|
introduction |
String. Maximum length is 2000. Full introduction text to display on the landing page of the self-service assistant. Text can include basic formatting options, such as bolding or hyperlinks. Custom text provided through this parameter completely overwrites any previous messaging. For best results, ensure you provide the full message you wish to display to customer admins. Sending an empty body \{} resets any customized messaging to the default text. |
| Parameter | Description |
|---|---|
connection\_config |
Object. Required when generating an access ticket for a new SSO connection. Customer admins will be able to modify key elements of the connection, such as the SAML certificate or OIDC ID or secret. |
connection\_config.name |
Required. String. Name for the connection created through the SSO setup assistant. Maximum length is 128. |
connection\_config.display\_name |
Optional. String. User-friendly name for the new connection created through the self-service assistant. This name displays on Universal Login prompts. Maximum length is 128. |
connection\_config.is\_domain\_connection |
Optional. Boolean. Set to true if the connection is at the domain level; requires Dynamic Client Registration. |
connection\_config.show\_as\_button |
Optional. Boolean. When true, the connection displays as an authentication option on your application's login screen. |
connection\_config.metadata |
Optional. Object\[]. Metadata associated with the new connection. Object can contain up to 10 key-value pairs. String values limited to 255 characters. |
connection\_config.options |
Optional. Object\[]. Options for the new connection, including:
|
connection\_config.options.icon\_url |
Optional. String. URL of the icon image to use if connection\_config.show\_as\_button is enabled. Must use HTTPS. |
connection\_config.options.domain\_aliases |
Optional. String\[]. Domains to use for home realm discovery. Domains entered into domain\_aliases are automatically marked as verified. To have a customer admin verify a domain themselves, do not specify this attribute and instead use domain\_aliases\_config (described further on in this table). This option allows you to prompt the customer admin to verify their domain through the self-service assistant.For more information, review Domain Verification and Home Realm Discovery. |
connection\_config.options.idpinitiated |
Optional. Object. Allows SAML IdP-initiated SSO and includes the following attributes:
For full details, review the SSO Access Ticket endpoint in the Management API Explorer. |
enabled\_organizations |
Optional. Object\[]. A list of organizations to associate with the new connection. |
enabled\_organizations\[].organization\_id |
Required when using enabled\_organizations.String. ID of a specific organization to associate with the new connection. You can retrieve IDs through the Organizations section of the Auth0 Dashboard, the Get Organizations endpoint, or the Get Organization by Name endpoint. |
enabled\_organizations\[].assign\_membership\_on\_login |
Optional. Boolean. When true, users who log in with the new connection are automatically granted membership to the specified organization. |
enabled\_organizations\[].show\_as\_button |
Optional. Boolean. When true, the new connection displays as an authentication option on the Organization login screen for your application. |
ttl\_sec |
Optional. Number. Number of seconds an access ticket URL remains active before a customer admin launches the self-service assistant. If unspecified or set to 0, the value defaults to 432000 (the maximum amount of 5 days).Note that this expiration period does not determine how long a customer admin has access to the self-service after it’s been launched. The expiration of the assistant itself is 5 hours and cannot be configured. |
domain\_aliases\_config |
Optional. Object. Contains domain\_verification which is used to determine whether domain verification is required, optional, or disabled. Options for domain\_verification include:
To learn more, review Domain Verification and Home Realm Discovery. |
| Parameter | Description |
|---|---|
connection\_id |
Required. String. ID of the connection a customer admin can update through the self-service assistant. Customer admins can modify key elements of the connection, such as the SAML certificate or OIDC ID and secret. Connection IDs can be retrieved through the Authentication section of the Auth0 Dashboard or the Get All Connections endpoint.\*\* |
provisioning\_config |
**Optional.** Object. Determines whether or not customer admin is able to set up SCIM. If the connection is created without all provisioning `scopes`, `get:users`,`post:users`,`put:users`, `patch:users`,`delete:users`, SCIM will not be enabled. |
ttl\_sec |
Optional. Number. Number of seconds an access ticket URL remains active before a customer admin launches the self-service assistant. If unspecified or set to 0, the value defaults to 432000 (which equals 5 days). Note that this expiration period does not determine how long a customer admin has access to the self-service assistant after it's been launched. The expiration of the assistant itself is five hours and cannot be configured. |
domain\_aliases\_config |
Optional. Object. Contains domain\_verification which is used to determine whether domain verification is required, optional, or disabled. Options for domain\_verification include:
To learn more, review Domain Verification and Home Realm Discovery. |
| Description | Endpoint | Limits |
|---|---|---|
| Manage SSO profiles | /api/v2/self-service-profiles |
Review the Management API rate limits for your subscription type. |
| Create an access ticket | /api/v2/self-service-profiles//sso-ticket |
Review the Management API rate limits for your subscription type. |
| Consume an access ticket | /self-service/connection-flows?ticket= |
6 / min / IP |
| Load the webapp (including setup assistant) and webapp endpoints | /self-service/\* |
50 / min / IP 90 / min / tenant |
| Parameter | Description |
|---|---|
response\_type |
Tells the authorization server which grant to execute. |
response\_mode |
(Optional) How the result of the authorization request is formatted. Values: - query: for Authorization Code grant. 302 Found triggers redirect. - fragment: for Implicit grant. 302 Found triggers redirect. - form\_post: 200 OK with response parameters embedded in an HTML form as hidden parameters. - web\_message: For Silent Authentication. Uses HTML5 web messaging. |
client\_id |
The ID of the application that asks for authorization. |
redirect\_uri |
Holds a URL. A successful response from this endpoint results in a redirect to this URL. |
scope |
A space-delimited list of permissions that the application requires. |
state |
An opaque value, used for security purposes. If this request parameter is set in the request, then it is returned to the application as part of the redirect\_uri. |
connection |
Specifies the connection type for Passwordless connections |
| Value | Description |
|---|---|
query |
This is the default for Authorization Code grant. A successful response is 302 Found which triggers a redirect to the redirect\_uri. The response parameters are embedded in the query component (the part after ?) of the redirect\_uri in the Location header. For example: HTTP/1.1 302 Found Location: [https://my-redirect-uri.callback?code=js89p2x1](https://my-redirect-uri.callback?code=js89p2x1) where the authorization code is js89p21. |
fragment |
This is the default for Implicit grant. A successful response is 302 Found, which triggers a redirect to the redirect\_uri (which is a request parameter). The response parameters are embedded in the fragment component (the part after #) of the redirect\_uri in the Location header. For example: HTTP/1.1 302 FoundLocation: [https://my-redirect-uri/callback#access\_token=eyB...78f\&token\_type=Bearer\&expires\_in=3600](https://my-redirect-uri/callback#access_token=eyB...78f\&token_type=Bearer\&expires_in=3600). |
form\_post |
The response mode is defined by the OAuth 2.0 Form Post Response Mode specification. A successful response is 200 OK and the parameters are embedded in an HTML form as hidden params. The action of the form is the redirect\_uri and the onload attribute is configured to submit the form. After the HTML is loaded by the browser, a redirect to the redirect\_uri is done. |
web\_message |
This response mode is defined in OAuth 2.0 Web Message Response Mode specification. It uses HTML5 Web Messaging instead of the redirect for the authorization response from the /authorization endpoint. This is particularly useful when using Silent Authentication. To do this response mode, you must register your app's URL at the Allowed Web Origins field in your Auth0 application settings. |
| Setting | Description |
|---|---|
| Connection Name | Enter any name, such as SAML-Auth0-IDP. |
| Sign In URL | Enter the SAML Protocol URL value that you copied in above. |
| Sign Out URL | Enter the same URL as for the Sign In URL above. |
| X509 Signing Certificate | Click on the red UPLOAD CERTIFICATE... button and select the .pem file you downloaded above. |
| Attribute | Type | Description |
|---|---|---|
audience |
string | Audience of the SAML assertion. Default is issuer on SAMLRequest. |
recipient |
string | Recipient of the SAML assertion (SubjectConfirmationData). Default is AssertionConsumerUrl on SAMLRequest or callback URL if no SAMLRequest was sent. |
issuer |
string | Unique identifier of the SAML identity provider, formatted as a URL. |
mappings |
object | Mappings between Auth0 profile and the output attributes on the SAML assertion. Default mapping is shown above. |
createUpnClaim |
boolean | Whether or not a UPN claim should be created. Default is true. |
passthroughClaimsWithNoMapping |
boolean | If true (default), for each claim that is not mapped to the common profile, Auth0 passes through those in the output assertion. If false, those claims won't be mapped. |
mapUnknownClaimsAsIs |
boolean | If passthroughClaimsWithNoMapping is true and this is false (default), for each claim not mapped to the common profile Auth0 adds a prefix [http://schema.auth0.com](http://schema.auth0.com). If true it will pass through the claim as-is. |
mapIdentities |
boolean | If true (default), it adds more information in the token such as the provider (Google, ADFS, AD, etc.) and the access token, if available. |
signatureAlgorithm |
string | Signature algorithm to sign the SAML assertion or response. Default is rsa-sha1. |
digestAlgorithm |
string | Digest algorithm to calculate digest of the SAML assertion or response. Default is sha1. |
destination |
object | Destination of the SAML response. If not specified, it will be AssertionConsumerUrl of SAMLRequest or callback URL if there was no SAMLRequest. |
lifetimeInSeconds |
integer | Expiration of the token. Default is 3600 seconds (1 hour). |
signResponse |
boolean | Whether or not the SAML response should be signed. By default the SAML assertion will be signed, but not the SAML response. If true, SAML Response will be signed instead of SAML assertion. |
nameIdentifierFormat |
string | Default is urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified. |
nameIdentifierProbes |
array | Auth0 will try each of the attributes of this array in order. If one of them has a value, it will use that for the Subject/NameID. The order is: [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier) (mapped from user\_id), [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress) (mapped from email), [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name) (mapped from name). |
authnContextClassRef |
string | Default is urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified. |
typedAttributes |
boolean | Default is true. When set to true, we infer the xs:type of the element. Types are xs:string, xs:boolean, xs:double and xs:anyType. When set to false all xs:type are xs:anyType. |
includeAttributeNameFormat |
boolean | Default is true. When set to true, we infer the NameFormat based on the attribute name. NameFormat values are urn:oasis:names:tc:SAML:2.0:attrname-format:uri, urn:oasis:names:tc:SAML:2.0:attrname-format:basic and urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified. If set to false, the attribute NameFormat is not set in the assertion. |
logout |
object | Controls SAML logout. It can contain two properties:callback (string) that contains the service provider (client application) Single Logout Service URL, where Auth0 will send logout requests and responses, and slo\_enabled(boolean) that controls whether Auth0 should notify service providers of session termination. The default value istrue (notify service providers). |
binding |
string | Optionally indicates the protocol binding used for SAML logout responses. By default Auth0 uses HTTP-POST, but you can switch to HTTP-Redirect by setting "binding" to "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect". |
signingCert |
string | Optionally indicates the public key certificate used to validate SAML requests. If set, SAML requests will be required to be signed. A sample value would be "-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n\[..all the other lines..]-----END CERTIFICATE-----\n". |
connection.options.protocolBinding value |
SAML Request Binding value |
|---|---|
| Empty value ("") or not present | HTTP-Redirect |
urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect |
HTTP-Redirect |
urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST |
HTTP-POST |
| Field | Description |
|---|---|
| Sign In URL | The URL where SAML authentication requests are sent. This is also called the single sign-on (SSO) endpoint. |
| Sign Out URL | The URL where SAML logout requests are sent. This is also called the single logout (SLO) endpoint. |
| X509 Signing Certificate | The public-key certificate required by the SP to validate the signature of the authentication assertions that have been digitally signed by the IdP. Auth0 accepts the .pem and .cer formats. |
| Setting | Description |
|---|---|
| Connection Name | Enter a connection name such as SAML-SP. |
| Sign In URL | Enter the Sign In URL that you obtained from the IdP. |
| X509 Signing Certificate | Upload the X509 Signing Certificate file (in .pem or .cer format) that you obtained from the IdP. |
| Enable Sign Out | Enable the Sign Out URL field. |
| Sign Out URL | Enter the Sign Out URL obtained from the IdP. |
| User ID Attribute | Enter the attribute in the SAML token that will be mapped to the user\_id property in Auth0. If not set, then the user\_id will be retrieved from the following (in listed order):
|
| Debug Mode | Enable Debug Mode for more verbose logging. |
| Sign Request | Enable signed SAML authentication requests. |
| Sign Request Algorithm | From the dropdown menu, select the hash algorithm to use. |
| Sign Request Algorithm Digest | From the dropdown menu, select the algorithm to use to check the validity of the assertion. |
| Protocol Binding | From the dropdown menu, select one of the following options:
|
| Sync user profile attributes at each login | Enable syncing user profile attributes during each login. |
| Field | Type | Required? | Description |
|---|---|---|---|
signInEndpoint |
String | Required | The Sign In URL of the IdP. |
signingCert |
String | Required | Contents of the X509 signing certificate (in .pem or .cer format) encoded in Base64. |
debug |
Boolean | Optional | Toggles Debug Mode, which includes more verbose logging during the authentication process. Set to false for connections used in production environments. |
destinationUrl |
String | Optional | The URL where Auth0 will send SAML authentication requests. Only required when using a proxy gateway. |
digestAlgorithm |
String | Optional | The algorithm used to encrypt the digest element of authentication requests. Accepted values are sha256 and sha1. |
disableSignout |
Boolean | Optional | Toggles the Sign Out URL. If false, you must provide a Sign Out URL to accept logout requests. If true, logout requests will be sent to the Sign In URL. |
fieldsMap |
Object | Optional | Contains attribute mappings to be applied to the authentication responses from the IdP. For example: "email": "[http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier)". |
idpinitiated |
Object | Optional | Contains options for IdP-Initiated SSO:
|
protocolBinding |
String | Optional | The protocol binding used for authentication requests. Accepted values are:
|
recipientUrl |
String | Optional | The URL where the IdP will send SAML authentication responses. Only required when using a proxy gateway. |
signatureAlgorithm |
String | Optional | The algorithm used to sign authentication requests. Accepted values are rsa-sha256 and rsa-sha1. |
signSAMLRequest |
Boolean | Optional | Toggles the signing of authentication requests sent by Auth0. |
user\_id\_attribute |
String | Optional | The name of the attribute in the authentication responses to map to the User ID property. This field will supersede any mappings for the user\_id property in the fieldsMap object. |
| Field | Type | Value |
|---|---|---|
destinationUrl |
String | URL of the proxy gateway. |
recipientUrl |
String | URL of the proxy gateway. |
| Name | Description |
|---|---|
AssertionConsumerServiceURL |
The URL where the IdP sends the response after the user signs in. Include the ProtocolBinding attribute in the request template if you use this. |
Connection.\ |
Use dot notation on the Connection key to access any of the connection's options values as returned from the Auth0 Management API's Get a Connection endpoint. For example, if the connection has options.some\_property: "value", then you can use @@Connection.some\_property@@ in the template. |
Destination |
The URL where Auth0 sends the request. This should be the Sign In URL configured for the connection. |
ID |
The transaction ID. |
IssueInstant |
The transaction date timestamp. |
Issuer |
The entity ID of the SP in urn format. For example, urn:auth0:\. |
LoginHint |
The username or email of the user logging in. If you are using Identifier First Authentication, Auth0 can send this value to the IdP to pre-populate it in the IdP's login form. |
ProtocolBinding |
The protocol binding type. |
ProviderName |
The name of the application that initiated the request. This always returns the Auth0 tenant name. |
AssertServiceURLAndDestination |
Deprecated. For new configurations, use AssertionConsumerServiceURL and Destination instead. |
| LDAP Attribute | Outgoing Claim |
|---|---|
| E-Mail-Addresses | E-Mail Address |
| Display-Name | Name |
| User-Principal-Name | Name ID |
| Given-Name | Given Name |
| Surname | Surname |
| Parameter | Example Value |
|---|---|
| Post-back URL | `https:// |
| `https://\{yourDomain}/login/callback?connection=YOUR_CONNECTION_NAME` if not using custom domains | |
| Entity ID | `urn:auth0:{yourTenant}:YOUR_CONNECTION_NAME` |
| Setting | Description | Example |
|---|---|---|
| Single Sign-On URL | Auth0 tenant login callback URL. | `https://{yourAuth0Domain}/login/callback?connection={yourAuth0ConnectionName}` |
| Audience URI (SP Entity ID) | Auth0 connection audience value. | `urn:auth0:{yourAuth0TenantName}:{yourAuth0ConnectionName}` |
| Setting | Description | Example |
|---|---|---|
| Connection name | Auth0 connection name. | myoktaconnection |
| Sign In URL | Okta URL where user login requests are sent. This is the Identity Provider Single Sign-On URL value you recorded previously. |
`https://my_okta_tenant_name.okta.com/app/` my\_okta\_tenant\_namemy\_okta\_saml\_app\_integration\_name/ dakflkbzevu5i5zBi939/sso/saml |
| X509 Signing Certificate | Okta tenant public key signing certificate. Upload the X509 Certificate you downloaded previously. |
myOktaTenantSigningCertificate.pem |
| Setting | Description |
|---|---|
| Sign In URL | The SAML 2.0 Endpoint (HTTP) value you noted when setting up your OneLogin app. |
| Sign Out URL | The SLO Endpoint (HTTP) value you noted when setting up your OneLogin app. |
| X509 Signing Certificate | The certificate you downloaded from Onelogin. You will need to upload the certificate directly to Auth0. |
| Auth0 value | OneLogin configuration field |
|---|---|
| Post-back URL | ACS (Consumer) URL and Recipient |
| Entity ID | Audience |
| Setting | Description |
|---|---|
| Connection Name | Name your connection. For example SFIDP. |
| Email Domains | Enter the email domain name that your users will be loggin in from. For example, if your users have an email domain of abc-example.com, enter that into this field. You can enter multiple domains. |
| Sign In URL | Open the metadata file you downloaded from Salesforce and locate the line that contains the SingleSignOnService binding. The value of the location attribute on this line is your Sign In URL. It will be something like: `https://{sf-account-name}.my.salesforce.com/idp/endpoint/HttpRedirect` where `{sf-account-name}` is your Salesforce domain name. |
| Sign Out URL | Enter the same URL you entered for Sign In URL. |
| Setting | Description |
|---|---|
| Entity ID | urn:auth0:YOUR\_TENANT:YOUR\_CONNECTION\_NAME |
| ACS URL | `https://{yourDomain}/login/callback` |
| Subject Type | Persistent ID |
| Name ID Format | Choose the one with emailAddress |
| Issuer | `https://{your-saleforce-domain}.my.salesforce.com` |
| Setting | Description |
|---|---|
| SP ID | urn:auth0: |
| SAML Version | 2.0 |
| Skew Time: | 30 seconds |
| Setting | Description | Example |
|---|---|---|
| Connection name | Auth0 connection name. | myoktaconnection |
| Sign In URL | Okta URL where user login requests are sent. This is the Identity Provider Single Sign-On URL value you recorded previously. |
`https://my_okta_tenant_name.okta.com/app/` my\_okta\_tenant\_namemy\_okta\_saml\_app\_integration\_name/ dakflkbzevu5i5zBi939/sso/saml |
| X509 Signing Certificate | Okta tenant public key signing certificate. Upload the X509 Certificate you downloaded previously. |
myOktaTenantSigningCertificate.pem |
| Setting | Description |
|---|---|
| FQDN of the ServiceProvider | auth0.com |
| Attributes to send in assertion | Check the box for EmailAddress |
| Insert your metadata information: | Paste in the XML metadata that you downloaded after you configured your Auth0 connection. |
| Setting | Description |
|---|---|
redirect\_uri |
When the IdP-initiated login has completed the request is then redirected to the first URL listed in the Allowed Callback URLs for the application. However, if you set a redirect\_uri, the IdP will redirect to this URL. This adds flexibility for cases such as when you have a set subdomain scheme with a wildcard and you only want to redirect to one specific subdomain. |
scope |
Define scopes for the ID token sent. You can set multiple scopes. |
response\_type |
Set the token for the Implicit Grant Flow for SPAs. You can set code for the Authorization Code Grant Flow for regular web apps. |
| Command | Description |
|---|---|
POST |
Creates a user in Auth0 with attributes from the SCIM 2.0 core schema and enterprise schema extension, described in RFC7644 Section 3.3. |
GET |
Retrieves a user that has already been created in Auth0, using their user\_id value in Auth0 and described in RFC7644 Section 3.4.1. |
PUT |
Replaces a user in Auth0 with attributes from the SCIM 2.0 core schema and enterprise schema extension, described in RFC7644 Section 3.5.1. |
PATCH |
Updates a user in Auth0 with attributes from the SCIM 2.0 core schema and enterprise schema extension, described in RFC7644 Section 3.5.2. |
DELETE |
Deletes a user in Auth0, using their user\_id value in Auth0, described in RFC7644 Section 3.6. |
SEARCH |
Searches for a user in Auth0 using a SCIM filter, described in RFC7644 Section 3.4.2. Supported operators are Equals (EQ), and (AND), and or (OR). |
PUT (Deactivate) |
Replaces a user stored in Auth0 and sets the SCIM active attribute to false, which results in the user being blocked in Auth0. |
PATCH (Deactivate) |
Updates a user stored in Auth0 and sets the SCIM active attribute to false, which results in the user being blocked in Auth0. |
| Notes | |
|---|---|
| One-to-one mapping | A selected SCIM attribute (or sub-attribute) can only be mapped to one Auth0 attribute. |
| Sub-attribute mapping | Sub-attribute values within multi-value SCIM attributes such as emails and phoneNumbers can be referenced using SCIM filter syntax with the eq operator. See the default attribute maps for examples. |
| Unmappable attributes | The SCIM id and meta attributes cannot be mapped, as they are only sent by Auth0 in the SCIM protocol responses. The id value in SCIM responses is always set to the Auth0 user\_id, and the SCIM password attribute is not usable for Enterprise connections. |
| Omitting SCIM attributes | If a specific SCIM attribute is not configured to be handled in your attribute map, it will be ignored in all SCIM requests and responses. |
| Notes | |
|---|---|
| One-to-one mapping | A selected Auth0 attribute can only be mapped to one SCIM attribute. |
| Root attribute mapping | When mapping to root attributes, note that only the root attributes listed in User profile attributes can be searched using a SCIM query. If you need an attribute to be searchable that is not in this list, place it in app\_metadata. |
| Metadata attribute mapping | The use of user\_metadata is allowed, but generally not recommended for synchronized attributes as it is intended to store attributes that can be edited directly by the end user. Use app\_metadata or root attributes instead. |
| Blocked attribute behavior | The mapping to the Auth0 blocked attribute has a special behavior when it is mapped to the SCIM active attribute. When active contains a value of true or false, Auth0 reverses the value and sets Auth0 blocked attribute to false or true, respectively. |
| Attribute | Value |
|---|---|
| Primary email type | (user.email != null && user.email != '') ? 'work' : ‘' |
| Primary phone type | (user.primaryPhone != null && user.primaryPhone != '') ? 'work' : ‘' |
| Address type | (user.streetAddress != null && user.streetAddress != '') ? 'work' : ‘' |
| Attribute | Value |
|---|---|
| Primary email type | (user.email != null && user.email != '') ? 'work' : ‘' |
| Primary phone type | (user.primaryPhone != null && user.primaryPhone != '') ? 'work' : ‘' |
| Address type | (user.streetAddress != null && user.streetAddress != '') ? 'work' : ‘' |
| Parameter | Description |
|---|---|
wa=wsignin1.0 |
Whether Auth0 should issue a token for the relying party (default) |
wa=wsignout1.0 |
Whether Auth0 should clear the user session/log the user out |
wreply= |
Where the response should be sent |
wctx= |
Your application's state |
whr= |
Connection to be used (allows users to skip the Auth0 login page) |
wfresh=0 |
Whether the user must re-authenticate, even if there's a session in place (0 requires re-authentication) |
| Read... | To learn... |
|---|---|
| Understand How Auth0 Organizations Work | How Auth0 Organizations work. |
| Create Your First Organization | How to create and configure an Organization and define its behavior. |
| Custom Development | How to extend Auth0 Organizations using metadata and rules or APIs and SDKs to create custom dashboards for your users. |
| Work with Tokens | How to work with tokens and Organizations. |
| Configure Organizations | How to configure Organizations using the Dashboard or Management API. |
| Machine-to-Machine Access to Organizations | How to configure and use Client Credentials access in the scope of Organizations. |
| Read... | To learn... |
|---|---|
| Manage Users Using the Dashboard | How to manage users in the Auth0 Dashboard. |
| Manage Users Using the Management API | The elements of a user profile, how to create a user, and how to view users and their profile details. |
| User Profiles | The basics of Auth0 user profiles. |
| Metadata | How user metadata and app metadata can be used to store information that does not originate from an identity provider. |
| Verify Emails Using Auth0 | Proper usage of the email\_verified field in a user profile. |
| User Account Linking | How, when a user has two accounts with the same email, to prompt the user to link them. |
| Create Users | How to create users using the Auth0 Dashboard. |
| Identify Users | How to uniquely identify users. |
| View User Details | How to use the view user details in the Auth0 Dashboard. |
| Change User Pictures | How to change your users' pictures. |
| Manage User Access to Applications | How to restrict user access to certain applications in your tenant. |
| Block and Unblock Users | How to block or unblock a user's access to your applications. |
| Unlink Devices from Users | How to unlink devices assigned to users in the Auth0 Dashboard. |
| Delete Users | How to delete users in the Auth0 Dashboard. |
| Get User Information on Unbounce Landing Pages | How to create a UI element that will trigger the login with a provider. |
| Attribute | Description |
|---|---|
| Connection | The database connection to use to authenticate the user. The dropdown lists all the configured database connections in your tenant. The connection you use must be associated with an application, otherwise you will receive an error message that says the connection is disabled. |
| The user's email address. The email address format should conform to the specification provided in RFC 5321 on IETF | |
| Password | The user's password. There is no maximum limit for password length. |
| Permissions | Descriptions |
|---|---|
read:users |
Applications can search and retrieve any user records stored in an Auth0 tenant. This includes reading via the /api/v2/users , /api/v2/users-by-email, and /api/v2/jobs/users-export endpoints. |
create:users |
Applications can create users in any database or passwordless connection in an Auth0 tenant. This includes creating via the /api/v2/users and /api/v2/jobs/users-import endpoints. |
update:users |
Applications can update any user stored in an Auth0 tenant. This includes updating via the /api/v2/users endpoint. |
update:users\_app\_metadata |
Applications can update only the user.app\_metadata attribute for any user stored in an Auth0 tenant. This includes updating via the /api/v2/users endpoint. |
delete:users |
Applications can delete any user stored in an Auth0 tenant. This includes deleting via the /api/v2/users endpoint. |
| Metadata Type | Field Name | Description |
|---|---|---|
| User Information | user\_metadata |
Stores user attributes such as preferences that do not impact a user's core functionality. This data can be edited by logged in users if you build a form using the Management API and should not be used as a secure data store. |
| Access Information | app\_metadata |
Stores information such as permissions, Auth0 plan, and external IDs that can impact user access to features. This data cannot be edited by users and there are restrictions for what can be stored in this field. |
| Application Information | client\_metadata in the Client object, context.clientMetadata in Rules, and event.client.metadata in post-login Actions. |
Stores information about an application (or client in OIDC OAuth2 terminology). For example, the URL for the application home page (any value that Auth0 doesn’t set in the application settings). |
| Task | Endpoint | Scope |
|---|---|---|
| View | GET /api/v2/users/ |
read:current\_user |
| Create | PATCH /api/v2/users/ |
create:current\_user\_metadata |
| Update | PATCH /api/v2/users/ |
update:current\_user\_metadata |
| Delete | DELETE /api/v2/users//multifactor/ |
update:users |
| Metadata Type | Field Name | Description |
|---|---|---|
| User Information | user\_metadata |
Stores user attributes such as preferences that do not impact a user's core functionality. This data can be edited by logged in users if you build a form using the Management API and should not be used as a secure data store. |
| Access Information | app\_metadata |
Stores information such as permissions, Auth0 plan, and external IDs that can impact user access to features. This data cannot be edited by users and there are restrictions for what can be stored in this field. |
| Application Information | client\_metadata in the Client object, context.clientMetadata in Rules, and event.client.metadata in post-login Actions. |
Stores information about an application (or client in OIDC OAuth2 terminology). For example, the URL for the application home page (any value that Auth0 doesn’t set in the application settings). |
| Parameter | Type | Description |
|---|---|---|
id |
string |
ID of the primary user account (required) |
provider |
string |
identity provider name of the secondary linked account (e.g. google-oauth2) |
user\_id |
string |
ID of the secondary linked account (e.g. 123456789081523216417 part after the \` |
| User data from... | Might include... |
|---|---|
| Current employer or degrees achieved | |
| Profile picture, birthday, or relationship status | |
| Active Directory | Employee number, job title, or department |
| If Auth0 is a... | Then... |
|---|---|
| SAML Service Provider | Use the SAML connection's Mappings tab to map attributes coming from an IDP to attributes in the Auth0 user profile: Go to Dashboard > Authentication > Enterprise > SAMLP. Click on the name of the SAML connection and click Mappings. |
| SAML Identity Provider | Use the Settings tab of Application AddOns to map attributes from the Auth0 user profile to attributes in the SAML Assertion sent back to the Service Provider: Go to Dashboard > Applications. Click on the name of your application, click Addons, and click SAML2 Web App. |
| Value | Description |
|---|---|
CONNECTION\_ID |
ID of the connection for which you want to allow updates to root attributes. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope update:connections. |
ATTRIBUTE\_UPDATE\_VALUE |
Indicates when you want to allow updates to user profile root attributes. Valid values are on\_first\_login and on\_each\_login. Defaults to on\_each\_login for new connections. |
| Value | Description |
|---|---|
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the create:users. |
CONNECTION\_ID |
ID of the connection to which the users will be inserted. You can retrieve this info using the Get All Connections endpoint. |
JSON\_USER\_FILE\_PATH |
Filename of the file that contains the users to be imported. File should be in JSON format and include root attributes for users. For a list of available attributes, see User Profile Attributes. For an example of the file format, see Bulk User Import Database Schema and Examples. |
| Value | Description |
|---|---|
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the create:users. |
CONNECTION\_NAME |
Name of the connection through which the initial user information was received. |
EMAIL\_VALUE |
Email address of the user to be created. |
PASSWORD\_VALUE |
Password of the user to be created. |
GIVEN\_NAME\_VALUE |
Given name of the user to be created. |
FAMILY\_NAME\_VALUE |
Family name of the user to be created. |
NAME\_VALUE |
Full name of the user to be created. |
NICKNAME\_VALUE |
Nickname of the user to be created. |
PICTURE\_VALUE |
URL of the picture for the user to be created. |
| Value | Description |
|---|---|
USER\_ID |
Τhe ID of the user to be updated. |
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the update:users. |
GIVEN\_NAME\_VALUE |
Given name of the user to be updated. |
FAMILY\_NAME\_VALUE |
Family name of the user to be updated. |
NAME\_VALUE |
Full name of the user to be updated. |
NICKNAME\_VALUE |
Nickname of the user to be updated. |
PICTURE\_VALUE |
URL of the picture for the user to be updated. |
| Name | Type | Description | Search? | Update? | Import? | Upsert during import? | Export? |
|---|---|---|---|---|---|---|---|
app\_metadata |
object | Custom fields that store info about a user that influences the user's access, such as support plan, security roles (if not using the Authorization Core feature set), or access control groups. To learn more, read Metadata Overview. | Y | Y | Y | Y | Y |
blocked |
boolean | Indicates whether the user has been blocked. Importing enables subscribers to ensure that users remain blocked when migrating to Auth0. | Y | Y | Y | N | Y |
blocked\_for |
array (object) | IP addresses that have been blocked under suspicion of a bruteforce attack. | N | N | N | N | N |
created\_at |
date time | Timestamp indicating when the user profile was first created. | Y | N | N | N | Y |
email |
text | (unique) The user's email address. | Y | Y | Y | N | Y |
email\_verified |
boolean | Indicates whether the user has verified their email address. | Y | Y | Y | Y | Y |
family\_name |
text | The user's family name. | Y | Y | Y | Y | Y |
given\_name |
text | The user's given name. | Y | Y | Y | Y | Y |
guardian\_authenticators |
array (object) | Detailed information about the guardian backup authorization methods the user has set up, including SMS and Recovery Codes. | N | N | N | N | N |
identities |
array (object) | Contains info retrieved from the identity provider with which the user originally authenticates. Users may also link their profile to multiple identity providers; those identities will then also appear in this array. The contents of an individual identity provider object varies by provider, but it will typically include the following:
|
Y | N | N | N | Y |
last\_ip |
text | IP address associated with the user's last login. | Y | N | N | N | Y |
last\_login |
date time | Timestamp indicating when the user last logged in. If a user is blocked and logs in, the blocked session updates last\_login. If you are using this property from inside a Rule using the user\< object, its value will be associated with the login that triggered the rule; this is because rules execute after login. |
Y | N | N | N | Y |
last\_password\_reset |
date time | Timestamp indicating the last time the user's password was reset/changed. At user creation, this field does not exist. This property is only available for Database connections. | N | N | N | N | Y |
logins\_count |
integer | Number of times the user has logged in. If a user is blocked and logs in, the blocked session is counted in logins\_count. |
Y | N | N | N | Y |
multifactor |
array (string) | List of multi-factor providers with which the user is enrolled. | N | N | N | N | Y |
multifactor\_last\_modified |
date time | Date and time of the last update to a user's multifactor authentication. | N | N | N | N | Y |
name |
text | The user's full name. | Y | Y | Y | Y | Y |
nickname |
text | The user's nickname. | Y | Y | Y | Y | Y |
phone\_number |
text | The user's phone number. Only valid for users with SMS connections. | Y | Y | N | N | Y |
phone\_verified |
boolean | Indicates whether the user has been verified their phone number. Only valid for users with SMS connections. | Y | Y | N | N | Y |
picture |
text | URL pointing to the user's profile picture. | N | Y | Y | Y | Y |
tenant |
text | Name of the tenant being used. | N | N | N | N | N |
updated\_at |
date time | Timestamp indicating when the user's profile was last updated/modified. Changes to last\_login are considered updates, so most of the time, updated\_at will match last\_login. |
Y | N | N | N | Y |
user\_id |
text | (unique) The user's identifier. Importing allows user records to be synchronized across multiple systems without using mapping tables. | Y | N | Y | N | Y |
user\_metadata |
object | Custom fields that store info about a user that does not impact what they can or cannot access, such as work address, home address, or user preferences. To learn more, read Metadata Overview. | Y | Y | Y | Y | Y |
username |
text | (unique) The user's username. | Y | Y | Y | N | Y |
| Field | Type | Character Limit | Validation |
|---|---|---|---|
email |
The maximum length is 64 characters for the user/local part and 256 characters for the domain part. |
JSON validation schema.
Regex: |
|
username |
string | The default allowed length for usernames is between 1 and 15 characters. Up to a maximum length of 128 characters. | The username field accepts the following characters: Alphanumeric characters (without accent marks, automatically converted to lowercase); The at sign (@) character (but email addresses are not allowed); The caret (^) character; The dollar sign (\$) character; The dot (.) character; The exclamation (!) character; The grave accent (\`) character; The minus (-) character; The number sign (#) character; The plus (+) character; The single quote (') character; The tilde (\~) character; The underscore (\_) character; No other characters/symbols are allowed, and Auth0 does not validate or sanitize custom database inputs. |
phone\_number |
phone | Standardized Format Phone numbers need to be in E.164 format |
|
password |
string | The minimum password length you can set is 1 byte, while the maximum is 72 bytes. | Standard Characters: ASCII characters in the range of 33-126 are valid, including: A through Z uppercase characters, a through z lower case characters, 0 through 9 numeric characters, special characters allowed. |
name |
string | 1-150 characters | All UTF-8 characters are supported |
nickname |
string | 1-350 characters | All UTF-8 characters are supported |
family\_name |
string | 1-150 characters | All UTF-8 characters are supported |
given\_name |
string | 1-150 characters | All UTF-8 characters are supported |
| Property | Type | Description | Upsert During Import? |
|---|---|---|---|
app\_metadata |
object | Data that can affect the application's core functionality or what the user can access. Data stored in app\_metadata cannot be edited by users. This may include things such as support plans, roles or access groups. |
Yes |
blocked |
boolean | Indicates whether the user has been blocked. | No |
email |
string | The user's email address. | No |
email\_verified |
boolean | Indicates whether the user has verified their email address. Set to false by default if email is updated by upsert but not email\_verified. |
Yes |
family\_name |
string | The user's family name. | Yes |
given\_name |
string | The user's given name. | Yes |
name |
string | The user's full name. | Yes |
nickname |
string | The user's nickname. | Yes |
picture |
string | URL pointing to the user's profile picture. | Yes |
user\_id |
string | The user's unique identifier. This will be prepended by the connection strategy. | No |
user\_metadata |
object | Data that does not impact what users can or cannot access, such as work address, home address, or user preferences. | Yes |
username |
string | The user's username. | No |
password\_hash |
string | Hashed password for the user's connection. When users are created, Auth0 uses bcrypt to secure the password. Importing hashed passwords lets users keep their passwords for a smoother experience. Compatible passwords should be hashed using bcrypt $2a$ or $2b$ and have 10 saltRounds. This property can only be provided when the user is first imported and cannot be updated later. | No |
custom\_password\_hash |
object | A more generic way to provide the user's password hash. This can be used instead of the password\_hash field when the user's password hash was created with an alternate algorithm. During the bulk import process, you can update the custom\_password\_hash if the user did not login using the initially imported custom\_password\_hash. |
Yes |
mfa\_factors |
array | The MFA factors that can be used to authenticate this user | No |
| Property | Type | Description |
|---|---|---|
algorithm |
string | The algorithm used to hash the password. Must be one of:
|
hash |
object | |
hash.value |
string | The password hash. |
hash.encoding |
string | The encoding of the provided hash. Must be one of:
|
hash.digest |
string | The algorithm used to generate the HMAC hash. Must be one of:
|
hash.key |
object | The key used to generate the HMAC hash. |
hash.key.value |
string | The key value. |
hash.key.encoding |
string | The key encoding. Must be one of:
hash.key.encoding is utf8. |
salt |
object | |
salt.value |
string | The salt value used to generate the hash. |
salt.encoding |
string | The encoding of the provided salt. Must be one of:
salt.encoding is utf8. |
salt.position |
string | The position of the salt when the hash was calculated. By default, salt.position is prefix. |
password.encoding |
string | The encoding of the password used to generate the hash. Must be one of:
password.encoding before being checked against the provided hash. For example, if your hash was generated from a ucs2 encoded string, then you would set: "encoding": "ucs2" |
keylen |
integer | Desired key length in bytes for the scrypt hash. Must be an integer greater than zero. This parameter is required when algorithm is set to scrypt. |
cost |
integer | CPU/memory cost parameter used for the scrypt hash. Must be a power of two greater than one. By default, cost is 16384.This parameter is only used when algorithm is set to scrypt. |
blockSize |
integer | Block size parameter used for the scrypt hash. Must be a positive integer. By default, blockSize is 8.This parameter is only used when algorithm is set to scrypt. |
parallelization |
integer | Parallelization parameter used for the scrypt hash. Must be a positive integer. By default, parallelization is 1.This parameter is only used when algorithm is set to scrypt. |
| Property | Type | Description |
|---|---|---|
email |
object | |
email.value |
string | The email address for MFA. |
phone |
object | |
phone.value |
string | The phone number for SMS MFA. Must have a country code and begin with +, such as: "+12125550001" |
totp |
object | |
totp.secret |
string | The OTP secret for MFA authentication with authenticator apps (Google Authenticator, Microsoft Authenticator, Authy, 1Password, LastPass). Must be in un-padded Base32 encoding, for example: "JBTWY3DPEHPK3PNP" |
| Parameter | Description |
|---|---|
users |
File in JSON format that contains the users to import. |
connection\_id |
ID of the connection to which users will be inserted. You can retrieve the ID using the GET /api/v2/connections endpoint. |
upsert |
Boolean value; false by default. When set to false, pre-existing users that match on email address, user ID, phone, or username will fail. When set to true, pre-existing users that match on email address will be updated, but only with upsertable attributes. For a list of user profile fields that can be upserted during import, see User Profile Structure: User profile attributes. Note: Providing a duplicated user entry in the import file will cause an error. In this case, Auth0 will not do an insert followed by an update. |
external\_id |
Optional user-defined string that can be used to correlate multiple jobs. Returned as part of the job status response. |
send\_completion\_email |
Boolean value; true by default. When set to true, sends a completion email to all tenant owners when the import job is finished. If you do not want emails sent, you must explicitly set this parameter to false. |
| Use case | Query |
|---|---|
| Search for all users whose name contains "john" | name:\*john\* |
| Search all users whose name is exactly "jane" | name:"jane" |
| Search for all user names starting with "john" | name:john\* |
| Search for user names that start with "jane" and end with "smith" | name:jane\*smith |
| Search for all users whose email is exactly "[john@exampleco.com](mailto:john@exampleco.com)" | email:"[john@exampleco.com](mailto:john@exampleco.com)" |
Search for all users whose email is exactly "[john@exampleco.com](mailto:john@exampleco.com)" or "[jane@exampleco.com](mailto:jane@exampleco.com)" using OR |
email:("[john@exampleco.com](mailto:john@exampleco.com)" OR "[jane@exampleco.com](mailto:jane@exampleco.com)") |
| Search for users without verified email | email\_verified:false OR NOT \_exists\_:email\_verified |
Search for users who have the user\_metadata field named full\_name with the value of "John Smith" |
user\_metadata.full\_name:"John Smith" |
| Search for users from a specific connection | identities.connection:"google-oauth2" |
| Search for all users that have never logged in | (NOT \_exists\_:logins\_count OR logins\_count:0) |
| Search for all users who logged in before 2018 | last\_login:\[\* TO 2017-12-31] |
| Search for all users whose last login was in December 2017 | last\_login:\[2017-11 TO 2017-12], last\_login:\[2017-12-01 TO 2017-12-31] |
| Search for all users with logins count >= 100 and \<= 200 | logins\_count:\[100 TO 200] |
| Search for all users with logins count >= 100 | logins\_count:\[100 TO \*] |
| Search for all users with logins count > 100 and \< 200 | logins\_count:\{100 TO 200} |
| Search for all users whose email domain is "exampleco.com" | email.domain:"exampleco.com" |
| Search Field | Data Type | Description |
|---|---|---|
phone\_number |
text | The user's phone number. Only valid for users with SMS connections. |
phone\_verified |
boolean | The true/false value indicates whether the user's phone number has been verified. Only valid for users with SMS connections. |
logins\_count |
integer | The number of times the user has logged in. If a user is blocked and logs in, the blocked session is counted in logins\_count and updates the last\_login value. |
created\_at |
date time | The timestamp of when the user profile was first created. |
updated\_at |
date time | The timestamp of when the user's profile was last updated/modified. |
last\_login |
date time | The timestamp of when the user last logged in. In case this property executes from inside a Rule with the user object, the value will be associated with the login that triggered the rule (since rules execute after the actual login). |
last\_ip |
text (valid IP address) | The IP address associated with the user's last login. |
blocked |
boolean | The true or false value indicates if the user has been blocked. Note: true only brings back users blocked via the Admin Dashboard and Management API; it does not bring back users blocked by brute force anomaly detection. |
email.domain |
text | The domain part of the user's email. |
organization\_id |
text (valid organization ID) | The organization that the user is a member of |
| Parameter | Description |
|---|---|
page |
The page number, zero based. When this is not set, we return a maximum of 50 records, regardless of how many records exist. |
per\_page |
The amount of users per page. |
include\_totals |
Set to true to include a query summary as part of the result. |
| Read... | To learn... |
|---|---|
| Customize Universal Login | How to customize the Universal Login experience. |
| Customize Classic Login | How to customize the Classic Login experience. |
| Customize Consent Prompts | How to customize the consent prompt presented to users during authorization. |
| Customize Error Pages | How to create a custom error page for authorization error events. |
screen to customize.
3. From **Settings > Rendering mode** select **Advanced mode**.
4. (Optional) Select **Use custom page template**.
5. (Optional) Select **Advanced mode filters**.
| Read... | To learn... |
|---|---|
| Customize Classic Login Pages | How to customize the Classic Login experience. |
| Customize Classic Login Pages with Lock or SDK | How to customize Classic Login pages using the Lock widget or a custom interface. |
| Customize Lock Error Messages | How to customize error messages served to users in the Classic Login experience. |
| Customize Classic Password Reset Pages | How to customize the Classic Login password reset page. |
| Classic Login Page Version Control | How to implement version control for your custom page content. |
| Variable | Description |
|---|---|
email |
The email address of the user requesting the password change |
ticket |
The ticket representing the given password reset request |
csrf\_token |
Token used to prevent CSRF activity |
tenant.name |
The name associated with your Auth0 tenant |
tenant.friendly\_name |
The name displayed for your Auth0 tenant |
tenant.picture\_url |
The URL leading to the logo representing you in Auth0 |
tenant.support\_email |
The support email address for your company displayed to your Auth0 users |
tenant.support\_url |
The support URL for your company displayed to your Auth0 users |
lang |
The user's language |
password\_policy |
The active connection's security policy. You can see what this is using `https://manage.auth0.com/#/connections/database/con_YOUR-CONNECTION-ID/security`. Be sure to provide your connection ID in the URL.) |
password\_complexity\_options |
Object containing settings for the password complexity requirements |
min\_length |
The minimum length required for newly-created passwords. Can range from 1 to 128 characters in length |
| Parameter | Description |
|---|---|
client\_id |
Identifier of the Auth0 application. |
connection |
Connection used at the time of error. |
lang |
Language set for use at the time of error. |
error |
Error code of the error. |
error\_description |
Description of the error. |
tracking |
Identifier used by Auth0 to find errors in internal logs. |
| Value | Description |
|---|---|
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope update:tenant\_settings. |
show\_log\_link |
Indicates whether to show a link to the error in your tenant logs. Valid values are true and false. |
url |
Location of the custom error page to which you want to redirect. |
| Value | Description |
|---|---|
MGMT\_API\_ACCESS\_TOKEN |
Access Token for the Management API with the scope update:tenant\_settings. |
show\_log\_link |
Indicates whether to show a link to the error in your tenant logs. Valid values are true and false. |
html |
HTML of the custom error page you want to render. |
| Read... | To learn... |
|---|---|
| Customize Universal Login Page Themes | How to customize Universal Login branding with the no-code editor. |
| Customize Universal Login Page Templates | How to use page templates for advanced customization. |
| Customize Universal Login Text Elements | How to modify the text displayed on Universal Login pages. |
| Customize Signup and Login Prompts | How to add custom content to Universal Login signup and login prompts. |