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

# Using Privy as your authentication provider

> Overview of Privy built-in authentication methods including email, SMS, passkeys, OAuth, and wallet login

Privy offers a variety of authentication methods, organized here by their security model:

### Direct methods

The user owns the credential outright. No third party can revoke or suspend access.

* **[Passkey](/authentication/user-authentication/login-methods/passkey)**: Biometric or passkey-based login based on the WebAuthn standard. Phishing-resistant and device-bound.
* **[Wallets](/authentication/user-authentication/login-methods/wallet)**: External wallet login via Sign-In With Ethereum and Sign-In With Solana.

### Delegated methods

A third party controls the credential. Account access depends on that provider remaining available.

* **[OAuth and socials](/authentication/user-authentication/login-methods/oauth)**: Social login with Google, Apple, Twitter, Discord, GitHub, LinkedIn, Spotify, Telegram, Farcaster, and more.
* **[Email](/authentication/user-authentication/login-methods/email) or [SMS](/authentication/user-authentication/login-methods/sms-whatsapp)**: Passwordless login via a one-time passcode sent to a user's email address or phone number.

Your app can configure each of the account types above to be an upfront login method, or as an account that users link to their profile after login.

<Warning>
  Account access is wallet access. If your app uses a delegated login method as the primary
  authenticator, Privy recommends requiring MFA with either a passkey or authenticator app. [Set up
  MFA →](/authentication/user-authentication/mfa/overview)
</Warning>

All of Privy's authentication methods create a common [user object](/user-management/users/the-user-object) containing the user's unique ID and all accounts linked to their profile.

Once a user successfully authenticates, Privy issues an [access token](/authentication/user-authentication/access-tokens) that your app can use to represent an authenticated session or make authenticated requests to the backend.
