Skip to content

Добавление канала OneDrive

Что подготовить сначала

Что нужноЗачем это нужно
Аккаунт MicrosoftДля доступа к страницам администрирования Microsoft и авторизации OneDrive
Ваш домен ImgHostДля OAuth callback URL
App registrationДля получения Client ID и Client Secret
Аккаунт OneDriveФактическое место хранения файлов

Настройка

Шаг 1. Откройте Microsoft Entra ID

  1. Откройте portal.azure.com.
  2. Вверху найдите Microsoft Entra ID.
  3. Если нужная страница не появилась в выпадающем списке, выберите:
text
Continue searching in Microsoft Entra ID
  1. Откройте Microsoft Entra ID.
  2. Откройте App registrations.
  3. Нажмите New registration.

Шаг 2. Зарегистрируйте приложение

На странице New registration заполните:

ПолеЧто ввести
NameПонятное имя, например imgbed-onedrive
Supported account typesВыберите по таблице ниже
Redirect URI typeWeb
Redirect URIhttps://your-domain.com/api/oauth/onedrive/callback

Подсказка по типу аккаунтов:

Ваш сценарийSupported Account Types
Только личный OneDriveВыберите вариант для personal Microsoft account.
Личные и рабочие или учебные аккаунтыВыберите вариант, поддерживающий personal и organizational accounts.
Только корпоративный или учебный OneDriveВыберите вариант для organizational account.

После заполнения формы нажмите register.

Создание OneDrive app

Шаг 3. Скопируйте данные приложения

После создания приложения скопируйте значения со страницы overview:

Поле MicrosoftПоле ImgHost
Application (client) IDClient ID
Directory (tenant) IDTenant ID для organizational accounts

Application и tenant IDs

Шаг 4. Создайте Client Secret

  1. Откройте Certificates & secrets.
  2. Нажмите New client secret.
  3. Введите удобное описание.
  4. Выберите срок действия.
  5. Сразу после создания скопируйте Value.

Сохранение значения client secret

Шаг 5. Добавьте API permissions

  1. Откройте API permissions.
  2. Нажмите Add a permission.
  3. Выберите Microsoft Graph.
  4. Выберите Delegated permissions.
  5. Добавьте:
PermissionНазначение
Files.ReadWrite.AllЗагрузка файлов, создание папок и удаление файлов
offline_accessПозволяет ImgHost получить Refresh Token
User.ReadЧитает информацию об аккаунте и квоте

Шаг 6. Заполните канал OneDrive

В настройках загрузки выберите OneDrive и заполните:

Поле ImgHostЧто ввести
Channel nameПонятное имя, например Main OneDrive
Client IDMicrosoft Application (client) ID
Client SecretСкопированное значение Client Secret Value
Tenant IDВыберите по таблице ниже
Refresh TokenПока оставьте пустым
Root directoryНеобязательно. По умолчанию imgbed.
NoteНеобязательно

Заполнение конфигурации OneDrive-канала

Как заполнить Tenant ID:

Выбранный тип аккаунтовImgHost Tenant ID
Personal accountsconsumers
Personal + organizational accountscommon
Только текущая организацияDirectory (tenant) ID

Шаг 7. Получите Refresh Token

  1. В ImgHost нажмите Get Token.
  2. Войдите в Microsoft-аккаунт, который хотите подключить.
  3. Подтвердите запрос авторизации.
  4. На callback-странице появится Refresh Token.
  5. Скопируйте его.
  6. Вернитесь в ImgHost и вставьте его в поле Refresh Token.

Копирование refresh token

Шаг 8. Сохраните канал

Когда все поля заполнены, сохраните канал.

Короткий сценарий

text
Open portal.azure.com
-> Search for Microsoft Entra ID
-> Open App registrations
-> Register a new app
-> Fill Name / Supported account types / Web redirect URI
-> Register
-> Copy Application (client) ID
-> Check the callback URL in Authentication
-> Create a Client Secret in Certificates & secrets
-> Add permissions in API permissions
-> Fill Client ID / Client Secret / Tenant ID into ImgHost
-> Click Get Token
-> Copy the Refresh Token from the callback page
-> Paste it back into ImgHost and save

Ссылки

  1. Microsoft Entra app registration: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app
  2. Microsoft identity platform authorization code flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow
  3. Microsoft Graph user authentication: https://learn.microsoft.com/en-us/graph/auth-v2-user

Released as user documentation for ImgHost.