# Auth Components

Canonical page: https://docs.ovok.com/native-sdk/guide/components/auth

The auth module provides UI and hooks for sign-in, registration, password
recovery, profile editing, and session management. Its client-backed components
use the native `Ovok` client from the nearest `OvokProvider` from
`@ovok/core/next/react`. Your app owns routes,
post-auth navigation, and the policies that determine who may sign in or edit
an account.

## Choose a guide [#choose-a-guide]

| Feature | What it covers |
| --- | --- |
| [Sign-in](/native-sdk/guide/components/auth/sign-in/) | Email and password, Google and Apple sign-in, MFA verification, and screen composition |
| [Registration](/native-sdk/guide/components/auth/register/) | Account creation, registration form components, and examples |
| [Password reset](/native-sdk/guide/components/auth/reset-password/) | Password recovery form and its component parts |
| [Profile form](/native-sdk/guide/components/auth/profile/) | Editing the signed-in user's Patient profile |
| [Session management](/native-sdk/guide/components/auth/session/) | Current profile state and server-side sessions |
| [Logout button](/native-sdk/guide/components/auth/logout-button/) | Ending the current authenticated session |
| [Delete account button](/native-sdk/guide/components/auth/delete-account-button/) | Confirming account deletion and handling its result |
| [Auth hooks and rate limits](/native-sdk/guide/components/auth/hooks/) | Session hooks and rate-limit helpers for custom forms |

Each guide links to the component-level reference for its form parts and props.
You can also open any feature from the **Auth Components** sidebar section.

## Integration model [#integration-model]

Mount auth components below the providers described in the [app shell guide](/native-sdk/guide/how-to/app-shell).
Built-in forms submit through the active client. When you supply a custom
`onSubmit`, that handler replaces the component's default request and session
behavior; the host app must provide those pieces itself.

Keep the tenant code in public app configuration and pass it to the native
client. It is client-visible configuration, not a credential. If a form still
accepts `tenantCode`, use the same value as the client. Configure Google and Apple native packages
only when the app offers those providers; see the [installation guide](/native-sdk/guide/how-to/installation).

## Next steps [#next-steps]

- Follow the [authentication integration guide](/native-sdk/guide/modules/auth) to
  connect routes, callbacks, MFA, and account controls.
- Use the [public API map](/native-sdk/guide/public-api) to find the auth exports.
