---
author: OOMOL
author_url: https://oomol.com/ru/about/
title: Создание GitHub OAuth app для OpenConnector
description: Создайте GitHub OAuth app, настройте callback URL и подключите
  GitHub к самостоятельно размещённому runtime OOMOL OpenConnector.
lang: ru
canonical_url: https://oomol.com/ru/docs/openconnector-github-oauth-app/
markdown_url: https://oomol.com/ru/docs/openconnector-github-oauth-app.md
---

# Создание 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:

1. Откройте **Settings**.
2. Откройте **Developer settings**.
3. Откройте **OAuth Apps**.
4. Выберите **New OAuth App**.
5. Укажите название app и URL домашней страницы.
6. В поле **Authorization callback URL** укажите точный callback URL OpenConnector.
7. Зарегистрируйте app.

Официальное руководство GitHub: [Creating an OAuth app](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/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:

1. Откройте web console OpenConnector, например `http://localhost:3000`.
2. Откройте **Providers** и выберите **GitHub**.
3. Выберите **Configure OAuth Client** или **Edit OAuth Client**.
4. Вставьте client ID и client secret GitHub.
5. Выберите **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`, если разрушительные операции с репозиториями не нужны намеренно. |
