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

# Hercules Auth

> Set up authentication with social login, email codes, SMS OTP, passwords, or usernames. Customize your Hercules Auth Portal, login methods, and user access.

Hercules handles user authentication for you using Hercules Auth. Allow your users to sign in with Google, Apple, Microsoft, Facebook, LinkedIn, an email code, an SMS one-time passcode (OTP), an email and password, or a username and password.

<div className="screenshot purple">
  <img src="https://mintcdn.com/zeus-0f6dadbf/kr00GTozD-mEFvWE/images/apps/auth-options.png?fit=max&auto=format&n=kr00GTozD-mEFvWE&q=85&s=d3225ba8ea8a275f725e8961046fada3" alt="Customizable login page" width="1024" height="882" data-path="images/apps/auth-options.png" />
</div>

### How does Hercules Auth work?

Your users sign into your app through a customizable login portal managed by Hercules. Your user picks their preferred login option. After authenticating, they are redirected back to your app and the authentication is officially saved on your app's frontend and backend.

### What login methods are supported?

Hercules Auth currently supports the following sign-up and login options:

* **Google**
* **Apple**
* **Microsoft**
* **Facebook**
* **LinkedIn**
* **Email via one-time passcode**
* **SMS via one-time passcode (OTP)** (Hercules Auth 2.0 and a paid plan)
* **Email and password**
* **Username and password** (accounts created by you, no email required)

You can [customize which methods are shown](/docs/apps/users-auth/customize-auth-portal) to your users.
See [Customize Auth Portal](/docs/apps/users-auth/customize-auth-portal#how-do-i-enable-email-and-password-sign-in)
for email verification, password recovery, and CSV user imports, and
[Username and password sign-in](/docs/apps/users-auth/customize-auth-portal#how-do-i-enable-username-and-password-sign-in)
for admin-managed accounts.

For SMS, use [Hercules SMS](/docs/apps/users-auth/customize-auth-portal#how-do-i-enable-sms-sign-in) or [connect your own provider](/docs/apps/users-auth/sms-provider-custom). Both options are available on all paid plans and must be enabled for each app.

### How do I enable auth for my app?

It's easy: just ask Hercules to set it up for you!

```text Add authentication to app wrap theme={}
Add login to my app
```

### How do I upgrade an existing app to Hercules Auth 2.0?

Apps created before Hercules Auth 2.0 shipped can upgrade in place to unlock provider toggles, your own developer accounts, and a custom auth domain. See [Upgrade to Hercules Auth 2.0](/docs/apps/users-auth/upgrade-to-hercules-auth-2).

### What's next?

<Card title="Customize Login & Sign up" icon="lock" horizontal href="/docs/apps/users-auth/customize-auth-portal" arrow>
  Customize login methods, branding, and domains
</Card>

<Card title="Manage Users" icon="users" horizontal href="/docs/apps/users-auth/users-roles-permissions" arrow>
  Manage users, roles, and permissions
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.