Платформа 3V/Планировщик/Настройки аутентификации: различия между версиями
Строка 8: | Строка 8: | ||
Параметры: | Параметры: | ||
*'''name''' - имя добавляемых настроек. | *'''name''' - имя добавляемых настроек. | ||
− | *'''settings''' - настройки аутентификации. Настройки аутентификации задаются в формате JSON по шаблону. | + | *'''settings''' - настройки аутентификации. |
− | <div class="toccolours mw-collapsible mw-collapsed" style="width: | + | Настройки аутентификации задаются в формате JSON по шаблону, который содержит следующие поля: |
+ | *'''tokenRequestUrl''' - адрес по которому можно запросить токен. | ||
+ | *'''clientId''' - идентификатор клиента для которого запрашиваем токен. | ||
+ | *'''clientSecret''' - секрет клиента для которого запрашиваем токен.<br> | ||
+ | '''clientId''' и '''clientSecret''' соответствуют полям '''Secret''' и '''Client ID''' конфиденциального клиента в Keycloak. Узнать подробнее о настройке конфиденциального клиента можно [[Платформа_3V/Планировщик/Настройки_аутентификации/Как_настроить_конфиденциального_клиента_на_примере_Keycloak|здесь.]] Обратите внимание на то, что значение "clientId" пишется с маленькой буквы, как в Keycloak в разделе Clients, в поле Client ID. | ||
+ | <br><br> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | ||
<div style="font-weight:bold;line-height:1.6;"> Шаблон описания аутентификации JSON </div> | <div style="font-weight:bold;line-height:1.6;"> Шаблон описания аутентификации JSON </div> | ||
<div class="mw-collapsible-content mw-collapsed-content"> | <div class="mw-collapsible-content mw-collapsed-content"> | ||
Строка 20: | Строка 26: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | </div></div> | ||
+ | <br> | ||
[[Файл:добавить аутентификацию.png|700px|слева]]<br clear="both" /><br> | [[Файл:добавить аутентификацию.png|700px|слева]]<br clear="both" /><br> | ||
− | + | '''Пример настройки аутентификации:''' | |
<syntaxhighlight lang="JSON"> | <syntaxhighlight lang="JSON"> | ||
{ | { | ||
Строка 30: | Строка 38: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Метод GetById == | == Метод GetById == |
Версия 08:38, 22 декабря 2021
Планировщик позволяет выполнять задачи, требующие авторизации через OAuth2
Перейти в Планировщик можно по ссылке https://*******/scheduler/swagger/index.html#/ например, для cloud это https://api.3v-cloud.com/scheduler/swagger/index.html#/
Настройка аутентификации производится в разделе Authentication.
Метод Add
Данный метод добавляет новые настройки аутентификации в планировщик и возвращает идентификатор добавленных настроек.
Для добавления новой настройки аутентификации следует открыть вкладку "Добавить настройки аутентификации."(/api/Authentication/Add) в разделе планировщика Authentication и нажать кнопку "Try it out". Далее следует заполнить поле "Имя добавляемых настроек" и добавить описание новой аутентификации в поле "Дто настроек аутентификации". После заполнения всех необходимых полей следует нажать на кнопку "Execute" для добавления новой настройки аутентификации.
Параметры:
- name - имя добавляемых настроек.
- settings - настройки аутентификации.
Настройки аутентификации задаются в формате JSON по шаблону, который содержит следующие поля:
- tokenRequestUrl - адрес по которому можно запросить токен.
- clientId - идентификатор клиента для которого запрашиваем токен.
- clientSecret - секрет клиента для которого запрашиваем токен.
clientId и clientSecret соответствуют полям Secret и Client ID конфиденциального клиента в Keycloak. Узнать подробнее о настройке конфиденциального клиента можно здесь. Обратите внимание на то, что значение "clientId" пишется с маленькой буквы, как в Keycloak в разделе Clients, в поле Client ID.
1 {
2 "discriminator": "string",
3 "tokenRequestUrl": "string",
4 "clientId": "string",
5 "clientSecret": "string"
6 }
Пример настройки аутентификации:
{
"tokenRequestUrl": "https://3v.3v-group.net/auth/realms/trivium/protocol/openid-connect/token",
"clientId": "test-client",
"clientSecret": "some-client-UUID",
"discriminator": "ConfidentialClientAuthenticationSettingsDto"
}
Метод GetById
Возвращает настройки аутентификации по их идентификатору, или null, если нет настроек с таким идентификатором.
Параметры:
- authenticationSettingsId - идентификатор настроек.
Метод GetByName
Возвращает список настроек аутентификации с указанным именем.
Параметры:
- authenticationSettingsName - имя настроек.
Метод GetAll
Возвращает все настройки аутентификации для всех задач планировщика.
Метод Edit
Обновляет существующие настройки аутентификации.
Параметры:
- newSettings - новые значения настроек.
Значения настроек - JSON вида:
{
"settings": {
"tokenRequestUrl": "https://.../auth/realms/trivium/protocol/openid-connect/token",
"clientId": "test-client",
"clientSecret": "some-client-UUID"
},
"id": 6,
"name": "test"
}
- tokenRequestUrl - урл по которому можно запросить токен.
- clientId - идентификатор клиента для которого запрашиваем токен.
- clientSecret - секрет клиента для которого запрашиваем токен.
- id - идентификатор настроек.
- name - наименование настроек.
Метод Delete
Удаляет настройки аутентификации по их идентификатору.
Параметры:
- authenticationSettingsId - идентификатор настроек.