Перейти к содержимому

Аутентификация

Страница Account → Settings → Authentication позволяет управлять методами входа, API ключами и подключать Git провайдеров.

ONREZA поддерживает несколько способов входа в аккаунт:

МетодОписание
Email (Magic Link)Основной метод — ссылка для входа отправляется на email
GitHub OAuthВход через GitHub аккаунт
TelegramВход через Telegram
PasskeyБиометрия или аппаратный ключ (WebAuthn)

Device Flow — это OAuth 2.0 flow для аутентификации в CLI и других устройствах с ограниченным вводом (RFC 8628).

sequenceDiagram
    participant CLI
    participant API
    participant Browser
    
    CLI->>API: POST /v1/device
    API-->>CLI: device_code, user_code, verification_uri
    
    Note over Browser: User opens verification_uri
    Browser->>API: Authenticate + enter user_code
    API-->>Browser: Authorization granted
    
    loop Polling
        CLI->>API: POST /v1/device/token
        API-->>CLI: pending / access_token
    end
  1. CLI запрашивает device code у API (POST /v1/device)
  2. API возвращает:
    • device_code — для опроса статуса
    • user_code — код для ввода пользователем
    • verification_uri — URL для авторизации
    • expires_in — время жизни кода (10 минут)
  3. Пользователь открывает URL и вводит user_code
  4. CLI опрашивает API (POST /v1/device/token) пока не получит токен
  5. После подтверждения CLI получает access token
Окно терминала
# Авторизация через браузер
nrz login
# Откроется браузер или выведется URL для ручного ввода
# Waiting for authentication...
# Successfully authenticated as user@example.com
EndpointОписание
POST /v1/deviceЗапрос device code
POST /v1/device/tokenОбмен device code на access token
GET /v1/device/verifyПроверка статуса авторизации

API Keys — workspace-scoped ключи для программного доступа к API. Ключи имеют префикс nrz_ и хранятся в виде хешей.

  • Префикс: все ключи начинаются с nrz_
  • Хеширование: в базе хранится только хеш, оригинал показывается только при создании
  • Workspace-scoped: каждый ключ привязан к конкретному workspace
  • Права доступа: наследуются от владельца ключа
  1. Откройте Account → Settings → Authentication → API Keys
  2. Нажмите Create API Key
  3. Введите название ключа (например, “CI/CD Production”)
  4. Выберите workspace из списка
  5. Скопируйте ключ — он показывается только один раз

API поддерживает два формата заголовков для передачи токена:

Authorization: Bearer nrz_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Оба формата эквивалентны. Используйте тот, который удобнее для вашего клиента.

Для API endpoints требующий workspace контекст, используйте заголовок X-Workspace вместо URL параметра slug:

GET /api/v1/projects HTTP/1.1
Host: api.onreza.ru
Authorization: Bearer nrz_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
X-Workspace: my-workspace
ДействиеОписание
ViewПросмотр метаданных ключа (без самого значения)
RevokeОтзыв ключа — немедленная блокировка
RotateСоздание нового ключа с отзывом старого

Git провайдеры дают доступ к репозиториям для создания проектов и автоматических деплоев.

ПровайдерПодключениеВходРепозиторииСтатус
GitHubGitHub App (OAuth)ДаДаProduction
GitVersePersonal Access TokenДаДаProduction
SourceCraftPersonal Access TokenДаДаProduction

В разделе Account → Settings → Authentication доступны следующие действия для каждого провайдера:

ДействиеОписание
ConnectПодключение нового провайдера
DisconnectОтключение провайдера
Set DefaultУстановка провайдера по умолчанию
ConfigureНастройка доступа к репозиториям

GitHub — основной провайдер с полной OAuth интеграцией. Подключение GitHub даёт:

  • Вход через GitHub — дополнительный метод аутентификации
  • Доступ к репозиториям — импорт и автоматические деплои через GitHub App
  1. Откройте Account → Settings → Authentication
  2. В карточке GitHub нажмите Подключить в строке «Вход»
  3. Авторизуйтесь через GitHub OAuth
  4. Для доступа к репозиториям нажмите Install GitHub App
  5. Выберите репозитории в интерфейсе GitHub

Для подключения GitVerse нужен Personal Access Token (PAT).

  1. Откройте GitVerse → Settings → Tokens
  2. Создайте токен с правами:
    • Репозитории: Чтение + Запись
    • Организации: Чтение
    • Пользователи: Чтение
  3. В ONREZA откройте Account → Settings → Authentication
  4. В карточке GitVerse нажмите Connect
  5. Вставьте токен и сохраните

Для подключения SourceCraft нужен PAT и slug организации.

  1. Откройте SourceCraft → Settings → Access Tokens
  2. Создайте токен с правами на чтение репозиториев
  3. В ONREZA откройте Account → Settings → Authentication
  4. В карточке SourceCraft нажмите Connect
  5. Вставьте токен и slug организации

Вы можете выбрать провайдер по умолчанию — он будет использоваться при создании проектов через URL.

Для этого нажмите «Сделать по умолчанию» на карточке нужного провайдера.

  • GitHub — нажмите «Подключить» → пройдите OAuth авторизацию
  • Telegram — нажмите кнопку Telegram Login Widget → авторизуйтесь в Telegram
  • Passkey — нажмите «Добавить ключ доступа» → следуйте инструкциям браузера

Нажмите «Отключить» рядом с подключённым методом.

Если вы зарегистрировались через Telegram, ваш аккаунт имеет временный email (telegram_XXX@noreply.onreza.ru). Рекомендуем указать настоящий email для:

  • Получения уведомлений о деплоях
  • Восстановления доступа к аккаунту
  • Входа через Magic Link
  1. Откройте Account → Settings → General
  2. Нажмите Change Email
  3. Введите ваш настоящий email
  4. Подтвердите по ссылке из письма

Passkey — безопасный метод входа через биометрию (отпечаток пальца, Face ID) или аппаратный ключ (YubiKey).

  • Passkey привязан к устройству
  • Каждый passkey можно именовать для удобства
  • Можно добавить несколько passkeys