> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onyx.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Basic Auth

> Email and password authentication in Onyx

Email/password authentication is always enabled and works out of the box, with no configuration needed.
The first user to sign up becomes an admin.

We recommend adding [Google OAuth](/deployment/authentication/oauth), [OIDC](/deployment/authentication/oidc),
or [SAML](/deployment/authentication/saml) for production deployments. Once SSO works,
password login and sign-up can be [turned off
entirely](/deployment/authentication/sso_providers#turning-off-password-login).

<Note>
  Versions before `v4.4.0` required `AUTH_TYPE=basic`.
  Since `v4.4.0` the variable is inert and it is planned for full removal in `v4.5`.
</Note>

<Tip>
  If you have questions about which authentication approach is best for your organization,
  don't hesitate to [contact us](https://docs.onyx.app/contact_us)

  * we're happy to help you choose the right solution.
</Tip>

## Password Requirements

Passwords must be 8 to 64 characters by default. The length limits and character-class requirements (uppercase,
lowercase, number, special character) are configurable at **Admin Panel** → **Organization** → **Security & Hardening**.

## Email Verification

Enabling email verification blocks your users from signing in until they click their verification email.

**Using Docker:**

Set the following in your `.env` file:

```bash theme={null}
# Enable email verification
REQUIRE_EMAIL_VERIFICATION=true

# Email configuration
SMTP_USER=<EMAIL_TO_SEND_VERIFICATION_EMAILS_FROM>  # e.g. noreply@yourcompany.com
SMTP_PASS=<PASSWORD_FOR_THE_EMAIL_ABOVE>

# Required for non-Gmail accounts
SMTP_SERVER=<YOUR_SMTP_SERVER>
SMTP_PORT=<PORT_YOUR_SMTP_SERVER_LISTENS_ON>  # default: 587
```

**Using Helm:**

Set the following in your `values.yaml` file:

```yaml theme={null}
auth:
  secrets:
      smpt_pass: <PASSWORD_FOR_THE_SMTP_USER>
configMap:
  REQUIRE_EMAIL_VERIFICATION: true
  SMTP_USER: <EMAIL_TO_SEND_VERIFICATION_EMAILS_FROM>

  # Required for non-Gmail accounts
  SMTP_SERVER: <YOUR_SMTP_SERVER>
  SMTP_PORT: <PORT_YOUR_SMTP_SERVER_LISTENS_ON>
```

## Next Steps

<CardGroup cols={2}>
  <Card title="Set up Google OAuth" icon="google" href="/deployment/authentication/oauth">
    Google OAuth is a secure and easy way to authenticate users with their Google accounts.
  </Card>

  <Card title="Other Onyx Configuration Options" icon="gear" href="/deployment/configuration/configuration">
    There are many other configuration options available for Onyx.
  </Card>
</CardGroup>
