Simple to Implement, Easy to Extend

We provide an out-of-the-box authentication & authorization platform for any application — with the extensibility to fit your needs.

Integrate your application with Auth0. To log in, users are redirected to Auth0's customizable login page. Once the user logs in successfully, Auth0 redirects them back to your app, returning a token with their auth & user information.
  • atlassian
  • mozilla
  • arduino
  • cloudbees
  • amd

Implement Auth0 in Any Application in Just Five Minutes

With a few lines of code you can have Auth0 integrated in any app written in any language, and any framework. We provide 30+ SDKs & Quickstarts to help you succeed on your implementation.

const login = async () => {
  await auth0.loginWithRedirect({
    redirect_uri: window.location.origin
  });
};

Supporting any technology stack

See all quickstarts

A Customizable Out-of-the-Box Login Experience

Universal Login is a centralized login page where your users are authenticated. You can dynamically add new capabilities to it, such as social login and multi-factor authentication (MFA), without making any changes to your app’s code.

Your Company

Welcome to Your Company

barbara@auth0.com
• • • • • • • •

Forgot Password?

Log In
GoogleLog In with Google

What’s your company name?

Enter your company name to display it in the login box.

company-logo
Customize the login box
Results powered byClearbit

Colors

You can use your company's brand colors, or any others, to customize the login box look & feel.

Identity Providers

You can add any of the 30+ social providers that Auth0 supports out of the box. Additionally, you can add any OAuth2 Authorization Server you need.

Google
Google
GoogleGoogle
AppleApple
GithubGithub
LinkedinLinkedin

Easily Manage Your User Data & Permissions

Auth0 stores a variety of information on your users that is easily accessible to you. Administrators can manage user identities including password resets, creating, blocking and deleting users via the Users Dashboard or via the Auth0 API.

Powerful Search

Search across all your users using a simple, yet powerful, query language.

Manage Users

Edit user information, custom attributes, reset their password and second factors, and more.

Assign Roles & Permissions

Manage what users have access to, through roles and permissions.

Powerful SearchPowerful Search
Powerful Search

Powerful Search

Search across all your users using a simple, yet powerful, query language.

User Management Docs

Control & Customize — Extend with Code

All applications and scenarios are different. Auth0's Rules, Extensions, and Hooks extend the functionality of Auth0's base product to adapt it to your company needs and integrate it with other applications and services.

function defaultPictureForNullAvatars(user
1: The user object stores information about the logged in user, returned by the identity provider. It is generated when a user authenticates, before rules run.
, context
2: The context object stores contextual information about the current authentication transaction, such as the user's IP address, application, or location.
, callback
3: A function that will run after your main code is executed.
) {
if (user.picture.indexOf('cdn.auth0.com') > -1) {
    const url = require('url');
4: Rules run in a JavaScript sandbox. The sandbox supports the ECMAScript 6 language and a large number of Node.js (version 8+) modules that you can import.

    const u = url.parse(user.picture, true);
    u.query.d = 'URL_TO_YOUR_DEFAULT_PICTURE_HERE';
    delete u.search;
    user.picture = url.format(u);
   }
callback(null, user, context);
}

Rules and Hooks are JavaScript code snippets that run in Auth0 as part of the authentication pipeline. They empower you to control and customize any stage of the authentication pipeline.

Extending Auth0

Calling APIs and External Resources

Once your user authenticates, Auth0 will generate an ID Token and an Access Token that will be passed back to your application. The Access Token can then be used to call your API and/or any external resource.

const callApi = async () => {
  try {

    // Get the access token from the Auth0 client
    const token = await auth0.getTokenSilently();

    // Make the call to the API, setting the token
    // in the Authorization header
    const response = await fetch("/api/external", {
      headers: {
        Authorization: `Bearer ${token}`
      }
    });

    // Fetch the JSON result
    const responseData = await response.json();

    // Display the result in the output element
    const responseElement = document.getElementById("api-call-result");

    responseElement.innerText = JSON.stringify(responseData, {}, 2);

  } catch (e) {
    // Display errors in the console
    console.error(e);
  }
};

API SDKs

See All Quickstarts

How Auth0 Works

Pre-Signup Rules
Post-Signup Rules
Optional MFA

Your App

You integrate your App with Auth0.

Universal Login

To log in, users are redirected to the customizable Universal Login page. Once they successfully log in, they are redirected back to your app with an ID Token and the Access Token.

Users

Administrators can manage user identities from the User Dashboard.

Rules

The authentication and authorization pipeline can be easily customized and adapted to your needs by Auth0's extensibility options, such as Rules.

API

Finally, you can use the Access Token to call the secured APIs your app needs.
Code in any additional Identity Providers
+30 Built in Identity Providers
Google
Federated Identity Providers
Auth0 Database
Custom Database
Clearbit
Easily connect to APIs and services
Post Authentication Rules

Check Out What’s New

  • Quickstarts

    Quickstarts

    Get started using Auth0. Implement authentication for any kind of application in minutes.

    Check our Quickstarts
  • API Docs

    API Docs

    Learn about Auth0's Management and Authentication APIs.

    Check our Docs
  • Community

    Community

    Join the conversation about Auth0 in our community forums.

    Join our Community
  • Blog

    Blog

    Learn new technologies and keep up with the latest on our Developer blog.

    Check our Blog

Secure access for everyone.

But not just anyone.