Skip to content

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"
    }
}