Создание Microsoft OAuth app для OpenConnector
Используйте регистрацию Microsoft Entra app, когда OpenConnector нужно подключить провайдеры Microsoft Graph, например Outlook, OneDrive или Excel.
Сервисы OpenConnector
| ID сервиса | Провайдер | Дополнительное поле клиента |
|---|---|---|
outlook | Outlook | tenant |
one_drive | OneDrive | tenant |
excel | Excel | tenant |
Значение tenant — это сегмент tenant Microsoft identity platform, используемый в URL авторизации и токена. Распространённые значения: common, organizations, consumers или конкретный tenant ID.
Предварительные требования
- Запущенный runtime OpenConnector.
- Доступ к Microsoft Entra admin center или регистрациям apps Azure.
- Разрешение на регистрацию app и создание client secret.
- 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. Зарегистрируйте Microsoft app
В Microsoft Entra admin center:
- Откройте App registrations.
- Создайте новую регистрацию.
- Выберите supported account type, соответствующий вашим пользователям.
- Добавьте redirect URI типа Web с точным callback URL OpenConnector.
- Зарегистрируйте app.
- Откройте Certificates & secrets и создайте client secret.
- Откройте API permissions и добавьте delegated permissions Microsoft Graph, необходимые сервису OpenConnector.
Официальное руководство Microsoft: Register an application with the Microsoft identity platform. Microsoft также указывает, что redirect URI в auth request должен совпадать с зарегистрированным redirect URI в authorization code flow.
Шаг 3. Скопируйте значения клиента
| Значение Microsoft | Поле OpenConnector |
|---|---|
| Идентификатор клиента приложения | clientId |
| Значение секрета клиента | clientSecret |
| Сегмент tenant | extra.tenant |
Скопируйте значение client secret при создании. Microsoft не покажет полное значение секрета повторно.
Шаг 4. Сохраните клиент в OpenConnector
Провайдерам Microsoft в OpenConnector требуется дополнительное значение tenant. Перед выполнением этого руководства используйте версию console OpenConnector, где поле tenant отображается в форме OAuth client.
- Откройте web console OpenConnector, например
http://localhost:3000. - Откройте Providers и выберите Outlook, OneDrive или Excel.
- Выберите Configure OAuth Client или Edit OAuth Client.
- Вставьте application client ID Microsoft и значение client secret.
- В поле Tenant укажите
common,organizations,consumersили свой tenant ID. - Выберите Save OAuth Client.
Повторите эти шаги для one_drive или excel при настройке соответствующих сервисов.
Шаг 5. Подключите и проверьте
После сохранения конфигурации OAuth client выберите Connect на странице провайдера Microsoft. Войдите с аккаунтом Microsoft, подтвердите consent, вернитесь в OpenConnector и убедитесь, что аккаунт отображается как подключённый.
Перед выполнением actions Microsoft Graph просмотрите сведения об action в console. Выберите read action, доступный в вашей версии каталога, например outlook.list_messages, если он присутствует.
Устранение неполадок
| Симптом | Что проверить |
|---|---|
| Microsoft сообщает о недействительном redirect URI | Добавьте точный URL <openconnector-origin>/oauth/callback как Web redirect URI в регистрации app. |
| Вход целевого пользователя не выполняется | Проверьте supported account type app и значение tenant, сохранённое в OpenConnector. |
| Требуется admin consent | Некоторые permissions Microsoft Graph или политики tenant требуют согласия администратора. Попросите tenant admin проверить app. |
| Token request не выполняется | Убедитесь, что сохранено текущее значение client secret; secret ID лишь идентифицирует запись секрета. |
| Actions не выполняются из-за отсутствующих разрешений | Добавьте необходимые delegated API permissions, предоставьте consent и подключите аккаунт Microsoft повторно. |
Wanta