Платформа 3V/Планировщик/Настройки аутентификации: различия между версиями
(не показано 6 промежуточных версий этого же участника) | |||
Строка 58: | Строка 58: | ||
== Метод GetAll== | == Метод GetAll== | ||
Возвращает все настройки аутентификации для всех задач планировщика.<br> | Возвращает все настройки аутентификации для всех задач планировщика.<br> | ||
− | [[Файл:Получение всех задач.png| | + | Для получения настройки аутентификации следует открыть вкладку '''"Получить все настройки аутентификации для всех задач шедулера."(/api/Authentication/GetAll)''' в разделе планировщика '''Authentication''' и нажать кнопку '''"Try it out"'''. Далее нажмите на кнопку '''"Execute"''' для получения описания всех настроек. Описание аутентификации отобразиться в '''"Response body"'''. |
+ | [[Файл:Получение всех задач.png|700px|слева]]<br clear="both" /><br> | ||
== Метод Edit == | == Метод Edit == | ||
Обновляет существующие настройки аутентификации.<br> | Обновляет существующие настройки аутентификации.<br> | ||
+ | Для редактирования настройки аутентификации следует открыть вкладку '''"Обновить существующие настройки аутентификации."(/api/Authentication/Edit)''' в разделе планировщика '''Authentication''' и нажать кнопку '''"Try it out"'''. Далее вставьте описание настроек аутентификации в окно '''"Новые значения настроек"''' нажмите на кнопку '''"Execute"''' для изменения описания настроек. Если настройки были успешно обновлены в окне "Response body" отобразится значение "true". | ||
Параметры: | Параметры: | ||
*'''newSettings''' - новые значения настроек. | *'''newSettings''' - новые значения настроек. | ||
− | + | Настройки аутентификации задаются в формате JSON по шаблону, который содержит следующие поля:<br> | |
− | + | *'''tokenRequestUrl''' - адрес по которому можно запросить токен. | |
+ | *'''clientId''' - идентификатор клиента для которого запрашиваем токен. | ||
+ | *'''clientSecret''' - секрет клиента для которого запрашиваем токен. | ||
+ | *'''id''' - идентификатор настроек. | ||
+ | *'''name''' - наименование настроек. | ||
+ | '''clientId''' и '''clientSecret''' соответствуют полям '''Secret''' и '''Client ID''' конфиденциального клиента в Keycloak. Узнать подробнее о настройке конфиденциального клиента можно [[Платформа_3V/Планировщик/Настройки_аутентификации/Как_настроить_конфиденциального_клиента_на_примере_Keycloak|здесь.]] <br> | ||
+ | ''Обратите внимание на то, что значение "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 class="mw-collapsible-content mw-collapsed-content"> | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | "discriminator": "string", | ||
+ | "tokenRequestUrl": "string", | ||
+ | "clientId": "string", | ||
+ | "clientSecret": "string" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </div></div> | ||
+ | <br> | ||
+ | [[Файл:редактирование настроек аутентификации.png|700px|слева]]<br clear="both" /><br> | ||
+ | '''Пример настройки аутентификации:''' | ||
<syntaxhighlight lang="JSON"> | <syntaxhighlight lang="JSON"> | ||
{ | { | ||
Строка 77: | Строка 101: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Метод Delete== | == Метод Delete== | ||
Удаляет настройки аутентификации по их идентификатору.<br> | Удаляет настройки аутентификации по их идентификатору.<br> | ||
+ | Для удаления настройки аутентификации следует открыть вкладку '''"Удалить настройки аутентификации"(/api/Authentication/Delete)''' в разделе планировщика '''Authentication''' и нажать кнопку '''"Try it out"'''. Далее поставить идентификатор аутентификации в поле '''"Идентификатор настроек аутентификации"''' и нажмите на кнопку '''"Execute"''' для удаления настроек аутентификации. Описание аутентификации отобразиться в "Response headers". | ||
Параметры: | Параметры: | ||
*'''authenticationSettingsId''' - идентификатор настроек. | *'''authenticationSettingsId''' - идентификатор настроек. | ||
+ | [[Файл:удаление настроек аутентификации.png|700px|слева]] <br clear="both" /><br> |
Текущая версия на 08:27, 27 декабря 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"
}
Если задача была успешно добавлена, ее идентификатор отобразиться в "Response headers", в ином случае будет отображено сообщение об ошибки.
Метод GetById
Возвращает настройки аутентификации по их идентификатору, или null, если нет настроек с таким идентификатором.
Для получения настройки аутентификации следует открыть вкладку "Получить настройки аутентификации по их идентификатору."(/api/Authentication/GetById) в разделе планировщика Authentication и нажать кнопку "Try it out". Далее поставить идентификатор аутентификации в поле "Идентификатор настроек" и нажмите на кнопку "Execute" для получения описания. Описание аутентификации отобразиться в "Response body".
Параметры:
- authenticationSettingsId - идентификатор настроек.
Метод GetByName
Возвращает список настроек аутентификации с указанным именем.
Для получения настройки аутентификации следует открыть вкладку "Получить список настроек аутентификации с указанным именем."(/api/Authentication/GetByName) в разделе планировщика Authentication и нажать кнопку "Try it out". Далее вписать имя настройки аутентификации в поле "Имя настроек" и нажмите на кнопку "Execute" для получения описания. Описание аутентификации отобразиться в "Response body".
Параметры:
- authenticationSettingsName - имя настроек.
Метод GetAll
Возвращает все настройки аутентификации для всех задач планировщика.
Для получения настройки аутентификации следует открыть вкладку "Получить все настройки аутентификации для всех задач шедулера."(/api/Authentication/GetAll) в разделе планировщика Authentication и нажать кнопку "Try it out". Далее нажмите на кнопку "Execute" для получения описания всех настроек. Описание аутентификации отобразиться в "Response body".
Метод Edit
Обновляет существующие настройки аутентификации.
Для редактирования настройки аутентификации следует открыть вкладку "Обновить существующие настройки аутентификации."(/api/Authentication/Edit) в разделе планировщика Authentication и нажать кнопку "Try it out". Далее вставьте описание настроек аутентификации в окно "Новые значения настроек" нажмите на кнопку "Execute" для изменения описания настроек. Если настройки были успешно обновлены в окне "Response body" отобразится значение "true".
Параметры:
- newSettings - новые значения настроек.
Настройки аутентификации задаются в формате JSON по шаблону, который содержит следующие поля:
- tokenRequestUrl - адрес по которому можно запросить токен.
- clientId - идентификатор клиента для которого запрашиваем токен.
- clientSecret - секрет клиента для которого запрашиваем токен.
- id - идентификатор настроек.
- name - наименование настроек.
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 }
Пример настройки аутентификации:
{
"settings": {
"tokenRequestUrl": "https://.../auth/realms/trivium/protocol/openid-connect/token",
"clientId": "test-client",
"clientSecret": "some-client-UUID"
},
"id": 6,
"name": "test"
}
Метод Delete
Удаляет настройки аутентификации по их идентификатору.
Для удаления настройки аутентификации следует открыть вкладку "Удалить настройки аутентификации"(/api/Authentication/Delete) в разделе планировщика Authentication и нажать кнопку "Try it out". Далее поставить идентификатор аутентификации в поле "Идентификатор настроек аутентификации" и нажмите на кнопку "Execute" для удаления настроек аутентификации. Описание аутентификации отобразиться в "Response headers".
Параметры:
- authenticationSettingsId - идентификатор настроек.