grant_types
property of your application.
For example, if you want to secure a mobile application, the Authorization Code Flow with Proof Key for Code Exchange (PKCE) is the most appropriate.
Alternatively, if you want to secure a client-side application, such as a single-page application (SPA), and aren’t passing tokens between servers, the Implicit Flow with Form Post is the most appropriate.
Various grant types are valid when registering applications. These can be divided into the following categories:
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 |
Grant Type | Description |
---|---|
http://auth0.com/oauth/grant-type/password-realm | Use an extension grant similar to the Resource Owner Password Grant that includes the ability to indicate a specific realm |
http://auth0.com/oauth/grant-type/mfa-oob | Multi-factor Authentication OOB Grant Request |
http://auth0.com/oauth/grant-type/mfa-otp | Multi-factor Authentication OTP Grant Request |
http://auth0.com/oauth/grant-type/mfa-recovery-code | Multi-factor Authentication Recovery Grant Request |
http://auth0.com/oauth/grant-type/passwordless/otp | Embedded Passwordless Login Grant Request |
http://auth0.com/oauth/legacy/grant-type/ro
http://auth0.com/oauth/legacy/grant-type/ro/jwt-bearer
http://auth0.com/oauth/legacy/grant-type/delegation/refresh_token
http://auth0.com/oauth/legacy/grant-type/delegation/id_token
http://auth0.com/oauth/legacy/grant-type/access_token
grant_types
property that must be populated. To avoid changes in functionality for Auth0 customers at that time, we populated the grant_types
property for all existing applications with all Auth0 legacy, Auth0 extension, and specification-conforming grant types.
At this time, new Auth0 customers were no longer able to add legacy grant types to their applications. Legacy grant types are only available for previous customers while they migrate to new flows, to avoid breaking changes. If you were a customer prior to 8 June 2017, you can enable a legacy grant type using either the or the Auth0 .
If you’re currently using a legacy grant type, refer to the chart below to see which of the secure alternatives you should use instead. For example, if you’re implementing Authentication,
use Universal Login instead of the oauth/ro
endpoint.
token_endpoint_auth_method
flag being set to none
. By default, Auth0 creates public applications with the following grant_types
enabled:
implicit
authorization_code
refresh_token
device_code
grant type.
Public applications cannot use the client_credentials
grant type. To use this grant type, you must configure the application to be confidential rather than public. Use the Auth0 Management API Update a client endpoint to set the token_endpoint_auth_method
to client_secret_post,
client_secret_basic
, or private_key_jwt
. To learn more, read Application Credentials.
token_endpoint_auth_method
flag being set to anything except none
. By default, Auth0 creates confidential applications with the following grant_types
enabled:
implicit
authorization_code
refresh_token
client_credentials
grant_types
enabled as confidential applications, along with the following:
password
http://auth0.com/oauth/grant-type/password-realm
http://auth0.com/oauth/grant-type/mfa-oob
http://auth0.com/oauth/grant-type/mfa-otp
http://auth0.com/oauth/grant-type/mfa-recovery-code
Password
or MFA
grant type to your application. You cannot select them individually.