Настройка провайдера OAuth
Архивный исходный снимок. На этикетках продуктов используется 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.