Docs
Authentication

Providers

Learn about the authentication providers in Achromatic.

Both Credentials and OAuth authentication via Google or Microsoft are supported. For more providers please visit the Auth.js documentation.

Credentials provider

The credentials provider is fully implemented. This includes:

  • Login
  • Sign up
  • Forgot password
  • Verification via link
  • Verification via OTP
  • Password change
  • Email change

Passwords are hashed and compared using bcrypt with a salt length of 13. To use the credentials provider, email sending must be configured.

Google provider

Google allows users to authenticate using their Google accounts, offering a quick and familiar sign-in method.

To set up the Google Provider, follow these steps:

  1. Visit the Google Cloud Console.
  2. Create an account if you don't have one already.
  3. Navigate to APIs or click here
  4. Configure the OAuth consent screen and add yourself as test user.
  5. Click on Credentials, create new OAuth credentials and save those credentials.
  6. Add the Authorized JavaScript origin to the credential settings.
http://localhost:3000
  1. Add the Authorized redirect URI to the credential settings.
http://localhost:3000/api/auth/callback/google
  1. Update apps/dashboard/.env with the created credentials.
AUTH_GOOGLE_CLIENT_ID=
AUTH_GOOGLE_CLIENT_SECRET=

Microsoft provider

Microsoft allows users to authenticate using their Microsoft work, school, or Xbox accounts.

To set up the Microsoft (Entra ID) Provider, follow these steps:

  1. Visit the Azure Portal.
  2. Create an account if you don't have one already.
  3. Navigate to your Entra ID (Active Directory).
  4. Register a new application with platform web.
  5. Click on Authentication in the menu and add the redirect URIs
http://localhost:3000
http://localhost:3000/api/auth/callback/microsoft-entra-id
  1. Under Certificates & Secrets, create a new client secret.
  2. Update apps/dashboard/.env with the created secret.
AUTH_MICROSOFT_ENTRA_ID_CLIENT_ID=
AUTH_MICROSOFT_ENTRA_ID_CLIENT_SECRET=