Перейти к содержимому
Архивная документация. Используйте версию, соответствующую вашей установке.

Настройка провайдера OAuth

Зарегистрируйте приложения OAuth и настройте аутентификацию поставщика только для чтения для Repovio.

Архивный исходный снимок. На этикетках продуктов используется Repovio. Используйте без изменений идентификаторы конфигурации и ссылки на контейнеры из файлов развертывания с тегами этого выпуска.

Repovio подключает учетные записи поставщиков через OAuth или токен личного доступа (PAT). OAuth доступен, если настроен хотя бы один клиент OAuth провайдера. Без каких-либо настроенных клиентов OAuth экран учетной записи провайдера предлагает только аутентификацию PAT. Repovio использует полученные учетные данные только для своих API-интерфейсов поставщика, доступных только для чтения, и шифрует их перед записью в PostgreSQL.

Регистрация приложений OAuth

Зарегистрируйте одно приложение OAuth для каждого экземпляра провайдера, к которому должен подключиться Repovio. Установите точный URL-адрес обратного вызова из OAUTH_CALLBACK_URL при каждой регистрации приложения. Для локальной установки по умолчанию используется http://localhost:3001/api/v1/provider-accounts/oauth/callback.

Настройте идентификатор клиента и секрет клиента в среде API, а не в веб-приложении или Git:

OAUTH_CALLBACK_URL=https://repovio.example.com/api/v1/provider-accounts/oauth/callback
GITHUB_OAUTH_CLIENT_ID=...
GITHUB_OAUTH_CLIENT_SECRET=...
GITLAB_OAUTH_BASE_URL=https://gitlab.example.com
GITLAB_OAUTH_CLIENT_ID=...
GITLAB_OAUTH_CLIENT_SECRET=...
FORGEJO_OAUTH_BASE_URL=https://forgejo.example.com
FORGEJO_OAUTH_CLIENT_ID=...
FORGEJO_OAUTH_CLIENT_SECRET=...

Настройте только тех поставщиков, которые необходимы для этой установки. Идентификаторы клиента и секреты всегда должны настраиваться парами. GITLAB_OAUTH_BASE_URL идентифицирует один экземпляр GitLab для установленного приложения OAuth. Forgejo требуется явный базовый URL-адрес при настройке клиента OAuth.

Области чтения

Используйте эти области при регистрации приложения:

  • GitHub: repo security_events. Существующие учетные записи OAuth должны быть повторно авторизованы, прежде чем Repovio сможет читать предупреждения безопасности.
  • GitLab: read_api read_user.

Детализированным токенам личного доступа GitHub требуется доступ для чтения к оповещениям Dependabot, оповещениям о сканировании кода и оповещениям о секретном сканировании. Доступ к оповещениям безопасности GitLab дополнительно зависит от лицензии экземпляра и роли в проекте владельца токена; недоступные типы оповещений отображаются без сбоев в других областях синхронизации репозитория.

  • Forgejo: read:repository.
  • Gitea: настройте личный токен доступа с доступом на чтение в форме учетной записи поставщика Gitea, включая базовый URL-адрес экземпляра. Repovio в настоящее время не предлагает общий клиент Gitea OAuth, поскольку для каждого локального экземпляра требуется собственная регистрация приложения.

Адаптеры Repovio предоставляют только проверку, обнаружение, синхронизацию рабочих процессов и проверку веб-перехватчика. Они не создают, не обновляют, не отправляют, не перезапускают, не отменяют и не удаляют ресурсы поставщика. Секреты клиента OAuth остаются в среде API, а токены поставщика никогда не возвращаются API Repovio.