Auth0

Source Code

Auth0 is a great authentication-as-a-service platform for free!

A live demo is available as well as the source.

Usage

auth: {
  strategies: {
    auth0: {
      domain: 'domain.auth0.com',
      client_id: '....',
      audience: 'https://my-api-domain.com/'
    }
  }
}

Anywhere in your application logic:

this.$auth.loginWith('auth0')

User will be redirected to a page like this:

💁 This provider is based on oauth2 scheme and supports all scheme options.

Obtaining client_id, domain, and audience

client_id and domain are REQUIRED. Your application needs some details about this client to communicate with Auth0.

audience is required unless you've explicitly set a default audience on your Auth0 tenant.

You can get your client_id and domain the Settings section for your client in the Auth0 API dashboard. Your audience is defined on your client's API.

Logout with new Auth0 tenants

Auth0 tenants created in 2018 and earlier had an optional tenant setting Enable Seamless SSO. This setting is automatically enabled for new tenants and cannot be disabled.

If enabled and a user logs out and logs back in a short while later, they will not need to re-enter their credentials. They'll be logged in automatically.

You can force Auth0 to present the login page:

  • Go to into the Tenant Settings > Advanced

  • In Allowed Logout URLs enter the allowed URL(s) you can redirect to, such as http://localhost:3000

Wherever you have a logout feature do two things: 1. run the logout command

this.$auth.logout()
  1. redirect the user to the Auth0 logout URL along with a returnTo parameter

    https://mytenant.auth0.com/v2/logout?returnTo=http%3A%2F%2Flocalhost:3000

Last updated