# Introduction

An overview of how authentication works in SurrealDB, covering system users, record users, sessions, and third-party token integration.

SurrealDB supports multiple authentication methods designed for different use cases, from server administration to end-user access in client-side applications.

- [System users](/docs/learn/security/authentication/authentication.md#system-users) - administrator-managed accounts with role-based access control at the root, namespace, or database level.
- [Record users](/docs/learn/security/authentication/authentication.md#record-users) - application users that sign up and sign in through custom logic, restricted by table and field permissions.
- [Sessions](/docs/learn/security/authentication/authentication.md#sessions) - persistent connections that carry authentication state, with configurable token and session expiration.
- [JSON Web Tokens](/docs/learn/security/authentication/summary.md#json-web-tokens) - internal token management and third-party provider integration via JWKS.

For a condensed reference of all authentication-related features and links, see the [Summary](/docs/learn/security/authentication/summary.md) page.
