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"
}
Ответ: