Навигация
Аутентификация
Настройка способов входа: OAuth2, SAML, SCIM, LDAP, 2FA, токены доступа
GitRiver поддерживает несколько способов аутентификации: от простого логина/пароля до корпоративного единого входа через SAML. В этом разделе - как настроить каждый из них.
Логин и пароль
Базовый способ. Работает из коробки, настройка не требуется. Пользователи регистрируются сами (если не отключено) или создаются администратором.
Чтобы отключить открытую регистрацию: Администрирование -> Система -> снять флажок «Разрешить регистрацию».
Двухфакторная аутентификация (2FA)
2FA добавляет второй фактор при входе - код из приложения. Даже если пароль скомпрометирован, без кода войти нельзя.
Включение для пользователя
- Откройте Настройки (аватар -> шестерёнка) -> Безопасность
- Нажмите «Включить 2FA»
- Отсканируйте QR-код приложением (Google Authenticator, Authy, FreeOTP)
- Введите 6-значный код из приложения для подтверждения
- Сохраните 10 резервных кодов - каждый используется один раз, если телефон недоступен
Как работает вход с 2FA
- Пользователь вводит логин и пароль
- Если 2FA включена - появляется поле для кода
- Пользователь вводит код из приложения (или резервный код)
- Вход выполнен
Отключение
Настройки -> Безопасность -> «Отключить 2FA» (требуется пароль).
OAuth2 провайдеры
OAuth2 позволяет пользователям входить через внешние аккаунты: GitHub, GitLab, Google или любой OAuth2/OIDC-совместимый провайдер.
Когда нужно
- Пользователи уже имеют аккаунты в GitHub/Google
- Не хочется управлять отдельными паролями
- Нужна автоматическая регистрация при первом входе
Настройка
- Откройте Администрирование -> OAuth
- Нажмите «Добавить провайдер»
- Выберите тип: GitHub, GitLab, Google или Generic (для произвольного OIDC)
- Укажите:
- Client ID и Client Secret - получите в настройках OAuth-приложения у провайдера
- Scopes (опционально) - разрешения (по умолчанию стандартные для провайдера)
- Сохраните
На странице входа появится кнопка «Войти через [провайдер]».
Для GitHub: создайте OAuth App в Settings -> Developer settings -> OAuth Apps. Redirect URL:
https://git.example.com/api/v1/auth/oauth/{provider_id}/callback.
SAML 2.0 (Pro)
SAML обеспечивает корпоративный единый вход через Identity Provider: Okta, Azure AD, Keycloak, OneLogin и другие.
Когда нужно
- В компании есть централизованный IdP
- Нужен единый вход (SSO) - один аккаунт для всех сервисов
- Требуется автоматическая синхронизация групп из IdP
Настройка в GitRiver
- Откройте Администрирование -> SAML SSO
- Нажмите «Добавить провайдер»
- Заполните:
- Название - как кнопка будет называться на странице входа
- Entity ID провайдера (IdP) - идентификатор вашего IdP
- URL для входа (SSO URL) - куда перенаправлять пользователя для входа
- URL для выхода (SLO URL) - для единого выхода (опционально)
- Сертификат IdP - публичный сертификат для проверки подписей
- Настройте маппинг атрибутов:
- Имя пользователя, email, отображаемое имя, группы
- Опционально: автоматическая регистрация и синхронизация групп
- Сохраните
Настройка в IdP
На странице созданного провайдера вы найдёте ссылку на SP metadata (XML). Скачайте его и загрузите в ваш IdP, или укажите вручную:
- ACS URL -
https://git.example.com/api/v1/auth/saml/{id}/acs - Entity ID - из SP metadata
SCIM 2.0 (Pro)
SCIM автоматически синхронизирует пользователей и группы из IdP (Okta, Azure AD). При добавлении сотрудника в IdP - он автоматически появляется в GitRiver. При удалении - деактивируется.
Настройка
- Откройте Администрирование -> SCIM
- Нажмите «Создать токен»
- Сохраните токен - он показывается только один раз
- В настройках IdP (Okta, Azure AD):
- SCIM Base URL:
https://git.example.com/scim/v2/ - Bearer Token: токен из шага 3
- SCIM Base URL:
- Включите провижининг в IdP
LDAP (Pro)
LDAP позволяет входить с учётными данными из корпоративного каталога (Active Directory, OpenLDAP). Пользователю не нужно создавать отдельный аккаунт в GitRiver.
Настройка через интерфейс
- Откройте Администрирование -> LDAP
- Нажмите «Настроить» (или «Изменить» если уже настроено)
- Заполните:
- URL сервера -
ldap://host:389илиldaps://host:636(с TLS) - Bind DN - DN сервисного аккаунта для поиска (опционально)
- Пароль - пароль сервисного аккаунта
- База поиска - где искать пользователей (
ou=users,dc=example,dc=com) - Фильтр пользователей - как находить пользователя (
(uid={login})-{login}заменится на введённый логин) - Атрибут email - обычно
mail
- URL сервера -
- Нажмите «Тест подключения» - GitRiver попробует подключиться и найти пользователей
- Если тест успешен - «Сохранить»
Как работает вход
- Пользователь вводит логин и пароль на странице входа GitRiver
- GitRiver ищет пользователя в LDAP по фильтру
- Пытается выполнить bind с найденным DN и введённым паролем
- Если успех - создаёт (или обновляет) локальный аккаунт и авторизует
Локальные пароли работают как запасной вариант: если LDAP недоступен, пользователь может войти по локальному паролю (если он был установлен).
Настройка через конфиг
Альтернативно, LDAP настраивается в gitriver.toml - см. раздел Конфигурация -> LDAP.
Токены доступа
Персональные токены (PAT)
Для автоматизации: скрипты, CI/CD внешних систем, docker login. Подробнее - в разделе Первые шаги -> Токены доступа.
Токены деплоя
Привязаны к конкретному репозиторию. Используются для Docker pull из production-серверов или CI/CD внешних систем.
- Откройте репозиторий -> Настройки -> Токены деплоя
- Нажмите «Создать»
- Укажите имя, имя пользователя для docker login, скоупы и срок действия
Управление сессиями
Пользователь может видеть свои активные сессии и завершить любую из них.
Настройки -> Безопасность -> Активные сессии -> кнопка «Завершить» рядом с сессией.
Администратор может завершить сессию любого пользователя через управление пользователями.