---
layout: article
title: Authentication
description: Explore Appwrite's powerful authentication solutions. Learn how to implement secure user authentication, manage user identities, and enhance your application's security."
back: /docs
---

Appwrite **Authentication** delivers more than just user sign up and log in.
Authentication makes it easy to build secure and robust authentication with support for many different authentication methods.

{% arrow_link href="/docs/products/auth/quick-start" %}
Add authentication to your app in 5 minutes
{% /arrow_link %}

# Authentication methods {% #auth-methods %}

Appwrite supports a variety of authentication methods to fit every app and every niche. Explore Appwrite's authentication flows.

{% cards %}
{% cards_item href="/docs/products/auth/email-password" title="Email and password" %}
Email and password login with just a few lines of code secured with state of the art Argon2 hashing.
{% /cards_item %}
{% cards_item href="/docs/products/auth/phone-sms" title="Phone (SMS)" %}
Log in users without a password using their phone number and SMS verification.
{% /cards_item %}
{% cards_item href="/docs/products/auth/magic-url" title="Magic URL" %}
Passwordless login with a magic link sent to the user's email.
{% /cards_item %}
{% cards_item href="/docs/products/auth/email-otp" title="Email OTP" %}
Generate a time-based single-use password sent to the user's email.
{% /cards_item %}
{% cards_item href="/docs/products/auth/oauth2" title="OAuth 2" %}
Authenticate users with existing accounts from GitHub, Google, Facebook, and 30+ other providers.
{% /cards_item %}
{% cards_item href="/docs/products/auth/anonymous" title="Anonymous" %}
Create guest sessions for visitors and convert to full accounts when they're ready.
{% /cards_item %}
{% cards_item href="/docs/products/auth/jwt" title="JWT" %}
Deligate access for a user through passing JWT tokens.
{% /cards_item %}
{% cards_item href="/docs/products/auth/server-side-rendering" title="Server-side rendering (SSR)" %}
Authenticate users in server-side rendered applications.
{% /cards_item %}
{% cards_item href="/docs/products/auth/custom-token" title="Custom token" %}
Implement custom authentication methods like biometric and passkey login by generating custom tokens.
{% /cards_item %}
{% cards_item href="/docs/products/auth/mfa" title="Multifactor authentication (MFA)" %}
Implementing MFA to add extra layers of security to your app.
{% /cards_item %}
{% cards_item href="/docs/products/auth/presences" title="Presences" %}
Track which signed-in users are active right now and broadcast online, typing, and viewing status in realtime.
{% /cards_item %}
{% /cards %}

# Flexible permissions {% #flexible-permissions %}

When users sign up using Appwrite, their identity is automatically attached to a robust permissions system.
Appwrite Authentication provides permissions for individual users and groups of users through [teams](/docs/products/auth/teams) and [labels](/docs/products/auth/labels).

# Built in preferences {% #built-in-preferences %}

Appwrite **Authentication** comes with built-in [preferences](/docs/products/auth/preferences) for users to manage their account settings.
Store notification settings, themes, and other user preferences to be shared across devices.
