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

# Authentik SSO

> Настройка Authentik в качестве поставщика аутентификации SSO для Teable

<Tip>Доступно для тарифа Business и выше</Tip>

## Шаг 1. Создайте поставщика аутентификации в Teable

1. Перейдите к настройкам SSO Teable
2. Создайте нового поставщика аутентификации, назовите его **Authentik** и выберите **OpenID Connect**

## Шаг 2. Откройте интерфейс администратора Authentik

1. Войдите в интерфейс администратора своего экземпляра Authentik
2. URL-адрес по умолчанию обычно имеет вид `https://your-authentik-domain/if/admin/`
3. Для входа используйте свои учётные данные администратора

## Шаг 3. Создайте нового поставщика

1. В левом меню перейдите в **Applications** → **Providers**
2. Нажмите кнопку **Create**
3. Выберите **OAuth2/OpenID Provider**
4. Настройте параметры поставщика:

### Основные параметры

* **Name**: Teable SSO Provider
* **Authorization flow**: Выберите предпочтительный flow (обычно **default-authentication-flow**)
* **Client type**: **Confidential**
* **Client ID**: (Генерируется автоматически; при необходимости можно настроить)
* **Client Secret**: (Генерируется автоматически; скопируйте это значение)

### Redirect URI

* **Redirect URIs/Origins (RegEx)**: Вставьте **Callback URL** из Teable
  * Для точного совпадения: `https://app.teable.ai/api/auth/authentication/__providerId__/callback`
  * Для регулярного выражения: `https://app\.teable\.ai/api/auth/authentication/.*/callback`

<Note>Замените `__providerId__` в URL-адресе на providerId, отображаемый после создания поставщика аутентификации в Teable, или скопируйте URL-адрес обратного вызова прямо со страницы Teable.</Note>

### Расширенные параметры

* **Scopes**: Убедитесь, что доступны следующие scopes:
  * `openid`
  * `email`
  * `profile`
* **Subject mode**: **Based on the User's hashed ID**
* **Include claims in id\_token**: Отметьте этот параметр

Нажмите **Finish**, чтобы создать поставщика.

## Шаг 4. Сохраните учётные данные клиента

После создания поставщика:

1. Скопируйте **Client ID** из сведений о поставщике
2. Скопируйте **Client Secret** (он отображается только один раз при создании)
3. Вставьте оба значения в конфигурацию SSO Teable

<Warning>Храните Client Secret в безопасности. При необходимости его можно повторно сгенерировать позже.</Warning>

## Шаг 5. Создайте приложение

1. В левом меню перейдите в **Applications** → **Applications**
2. Нажмите кнопку **Create**
3. Настройте приложение:
   * **Name**: Teable
   * **Slug**: `teable` (или предпочтительный slug)
   * **Provider**: Выберите **Teable SSO Provider**, созданный на шаге 3
   * **Launch URL**: (Необязательно) `https://app.teable.ai`
   * **UI settings**: (Необязательно) Загрузите логотип Teable и настройте внешний вид

Нажмите **Create**, чтобы завершить.

## Шаг 6. Настройте конечные точки OAuth

В Teable заполните следующие конечные точки OAuth, используя домен Authentik:

* **Authorization URL**: `https://{your-authentik-domain}/application/o/authorize/`
* **Token URL**: `https://{your-authentik-domain}/application/o/token/`
* **User Info URL**: `https://{your-authentik-domain}/application/o/userinfo/`
* **Issuer**: `https://{your-authentik-domain}/application/o/{application-slug}/`

<Note>Замените `{your-authentik-domain}` фактическим доменом экземпляра Authentik, а `{application-slug}` — настроенным slug (например, `teable`).</Note>

## Шаг 7. Настройте доступ к приложению

### Создайте или используйте существующий flow

1. Перейдите в **Flows & Stages** → **Flows**
2. Можно использовать стандартные flows или создать пользовательские
3. Обычно требуются следующие flows:
   * **Authentication flow**: Для входа пользователей
   * **Authorization flow**: Для авторизации OAuth2/OIDC

### Назначьте политику доступа (необязательно)

1. Вернитесь к настройкам приложения
2. Прокрутите до раздела **Policy / Group / User Bindings**
3. Нажмите **Bind existing policy**, чтобы ограничить доступ на основе:
   * **Groups**: Разрешить доступ только определённым группам
   * **Users**: Разрешить доступ только определённым пользователям
   * **Custom policies**: Создать сложные правила доступа

## Шаг 8. Настройте scopes и claims (необязательно)

### Проверьте scopes

1. Перейдите в **Customization** → **Property Mappings**
2. Проверьте **Scope Mappings** для OAuth2/OIDC
3. Убедитесь, что следующие scopes содержат правильные claims:
   * `openid`: Содержит claim `sub`
   * `email`: Содержит `email` и `email_verified`
   * `profile`: Содержит `name`, `given_name`, `family_name` и т. д.

### Добавьте пользовательские claims

Если требуются пользовательские атрибуты:

1. Перейдите в **Customization** → **Property Mappings**
2. Нажмите **Create** → **Scope Mapping**
3. Определите пользовательские claims:
   * **Name**: Имя пользовательского claim
   * **Scope name**: Идентификатор scope (например, `custom_claims`)
   * **Expression**: Выражение Python для извлечения данных пользователя
4. Прикрепите scope к своему поставщику

## Шаг 9. Протестируйте вход через SSO

Есть два способа включить вход через SSO:

**Вариант 1: прямая URL-адрес аутентификации**

* Используйте URL-адрес авторизации как URL-адрес входа через SSO
* Пользователи будут перенаправлены в Authentik для аутентификации

**Вариант 2: проверка домена**

1. В Teable настройте проверку домена
2. Подтвердите свой пользовательский домен
3. Откройте [https://app.teable.ai](https://app.teable.ai)
4. Нажмите кнопку входа через SSO
5. Введите свой адрес электронной почты в подтверждённом домене для входа

## Дополнительная конфигурация (необязательно)

### Настройте многофакторную аутентификацию

1. Перейдите в **Flows & Stages** → **Stages**
2. Создайте этапы MFA (например, TOTP, WebAuthn, SMS)
3. Перейдите в **Flows & Stages** → **Flows**
4. Отредактируйте flow аутентификации
5. Добавьте этапы MFA в flow
6. Настройте политики и привязки MFA

### Настройте регистрацию пользователей

1. Перейдите в **Flows & Stages** → **Flows**
2. Создайте или отредактируйте flow регистрации
3. Добавьте этапы для:
   * Сбора данных пользователей
   * Верификации электронной почты
   * Настройки пароля
4. Свяжите flow регистрации со своим приложением

### Настройте политики паролей

1. Перейдите в **Flows & Stages** → **Policies**
2. Создайте политики паролей с такими требованиями, как:
   * Минимальная длина
   * Требования к сложности
   * История паролей
   * Правила срока действия

### Включите управление сеансами

1. Перейдите в **Events** → **Sessions**
2. Отслеживайте активные сеансы пользователей
3. Настройте параметры времени ожидания сеанса в **System** → **Settings**

### Пользовательский фирменный стиль

1. Перейдите в **Customization** → **Tenants**
2. Отредактируйте параметры tenant
3. Настройте:
   * Логотип и favicon
   * Цвета темы
   * Текст и ссылки в нижнем колонтитуле
4. Пользователи увидят ваш фирменный стиль при входе через Authentik

### Включите аудит журналов

1. Перейдите в **Events** → **Logs**
2. Просмотрите события аутентификации и ошибки
3. Настройте правила уведомлений для важных событий
4. Настройте политики хранения событий в **System** → **Settings**
