Создание GitHub OAuth app для OpenConnector
Используйте GitHub OAuth app, когда OpenConnector требуется авторизованное пользователем подключение GitHub. OAuth app предоставляет процесс авторизации в браузере; personal access token подходит для настройки токена администратором.
Сервис OpenConnector
| ID сервиса | Провайдер | Тип авторизации |
|---|---|---|
github | GitHub | OAuth2 |
OAuth-провайдер GitHub в OpenConnector может запрашивать scopes read:user, user:email, repo, workflow и delete_repo. Предоставляйте только scopes, необходимые для запланированных actions.
Предварительные требования
- Запущенный runtime OpenConnector.
- Аккаунт или организация GitHub, где вы можете создавать OAuth apps.
- Origin OpenConnector, который пользователи открывают в браузере, например
http://localhost:3000илиhttps://connect.example.com.
Шаг 1. Настройте callback URL OpenConnector
Добавьте /oauth/callback к origin OpenConnector. Для локального тестирования используйте http://localhost:3000/oauth/callback. Для публичного deployment задайте OOMOL_CONNECT_ORIGIN, перезапустите OpenConnector и используйте публичный callback URL, например https://connect.example.com/oauth/callback.
Шаг 2. Зарегистрируйте GitHub OAuth app
В GitHub:
- Откройте Settings.
- Откройте Developer settings.
- Откройте OAuth Apps.
- Выберите New OAuth App.
- Укажите название app и URL домашней страницы.
- В поле Authorization callback URL укажите точный callback URL OpenConnector.
- Зарегистрируйте app.
Официальное руководство GitHub: Creating an OAuth app. GitHub OAuth app поддерживает один authorization callback URL, поэтому создайте отдельные apps для локального окружения, staging и production, если URL различаются.
Шаг 3. Скопируйте client credentials
На странице GitHub OAuth app скопируйте:
| Значение GitHub | Поле OpenConnector |
|---|---|
| Идентификатор клиента | clientId |
| Секрет клиента | clientSecret |
Шаг 4. Сохраните клиент GitHub в OpenConnector
Используйте web console OpenConnector:
- Откройте web console OpenConnector, например
http://localhost:3000. - Откройте Providers и выберите GitHub.
- Выберите Configure OAuth Client или Edit OAuth Client.
- Вставьте client ID и client secret GitHub.
- Выберите Save OAuth Client.
Шаг 5. Подключите и проверьте
После сохранения OAuth client выберите Connect на странице провайдера GitHub. Подтвердите GitHub OAuth app, вернитесь в OpenConnector и убедитесь, что аккаунт отображается как подключённый.
Используйте github.get_current_user как безопасный тестовый action из списка actions в console.
Устранение неполадок
| Симптом | Что проверить |
|---|---|
| Redirect URI mismatch | Authorization callback URL в GitHub должен точно совпадать с <openconnector-origin>/oauth/callback. |
| App авторизовал неверный аккаунт | Выйдите из GitHub или используйте чистый профиль браузера перед началом авторизации. |
| Actions с репозиториями не выполняются | У подключения может отсутствовать scope repo, либо у пользователя нет доступа к целевому репозиторию. |
| Actions workflow не выполняются | У подключения может отсутствовать scope workflow. Измените запрашиваемые scopes и подключитесь повторно. |
| Actions удаления не выполняются | Не используйте delete_repo, если разрушительные операции с репозиториями не нужны намеренно. |
Wanta