Перейти к основному содержимому

12.6.4 Провайдеры

12.6.4.1 auth-provider-set

Метод для настройки провайдеров аутентификации.

Список доступных для добавления и модификации провайдеров (параметр provider):

  • federation;
  • ad (LDAP);
  • vk (OAuth2);
  • yandex (OAuth2);
  • google (OpenID Connect);
  • microsoft (OpenID Connect).

Каждый провайдер требует определенный набор параметров конфигурации, обязательные наборы параметров config для разных провайдеров:

// federation
"config": {
"url": "https://vstack.com/", // HTTPS Link
"open_id": false // ONLY false
}

// ad
"config": {
"url": "ldap://ext.itglobal.com/", // LDAP Link
"open_id": false // ONLY false
}

// vk
"config": {
"url": "https://oauth.vk.com/authorize", // HTTPS Link
"token_url": "https://oauth.vk.com/access_token", // HTTPS Link
"open_id": false, // ONLY false
"client_id": "51718593",
"client_secret": "sdasdjha..."
}

// yandex
"config": {
"url": "https://oauth.yandex.ru/authorize", // HTTPS Link
"token_url": "https://oauth.yandex.ru/token", // HTTPS Link
"open_id": false, // ONLY false
"client_id": "a7a750cdf08a49e086435cc079997059",
"client_secret": "sdasdjha...",
"user_info_url": "https://login.yandex.ru/info" // HTTPS Link
}

// google
"config": {
"url": "https://accounts.google.com/o/oauth2/v2/auth", // HTTPS Link
"token_url": "https://oauth2.googleapis.com/token", // HTTPS Link
"open_id": true, // ONLY true
"client_id": "a7a750cdf08a49e086435cc079997059",
"client_secret": "sdasdjha...",
"user_info_url": "https://openidconnect.googleapis.com/v1/userinfo", // HTTPS Link
"issuer_url": "https://accounts.google.com" // HTTPS Link
}

// microsoft
"config": {
"url": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", // HTTPS Link
"token_url": "https://login.microsoftonline.com/common/oauth2/v2.0/token", // HTTPS Link
"open_id": true, // ONLY true
"client_id": "a7a750cdf08a49e086435cc079997059",
"client_secret": "sdasdjha...",
"user_info_url": "https://graph.microsoft.com/oidc/userinfo", // HTTPS Link
"issuer_url": "https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0" // HTTPS Link
}

Флаг enabled указывает, что провайдер включен (true) или отключен (false). Если провайдер отключен — все его токены и учетные записи перестают действовать на время отключения или до истечения времени действия токена.

Поля config и enabled опциональны, могут быть использованы вместе или по отдельности, но не допускается их отсутствие. При указании config — можно изменять или добавлять провайдеры. При указании enabled — можно менять статус провайдера.

client_secret хранится в зашифрованном виде.

Запрос:

{
"jsonrpc": "2.0",
"method": "auth-provider-set",
"params": {
"provider": "vk",
"config": {
"url": "https://oauth.vk.com/authorize",
"token_url": "https://oauth.vk.com/access_token",
"open_id": false,
"client_id": 51718593,
"client_secret": "sdasdjh..."
},
"enabled": true
},
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585"
}

Ответ:

{
"jsonrpc": "2.0",
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585",
"result": {
"code": 1,
"message": "Auth provider added or updated successfully"
}
}