Добрый день. Вопрос в том, что нужно на back-end аутентифицироваться с паролем, который находится в системной настройке с типом зашифрованная строка. Т.е. какой-то правильный decrypt 

Нравится

6 комментариев
Лучший ответ

Здравствуйте! Воспользуйтесь данной конструкцией - https://prnt.sc/vdvss9

Как видно на скрине возвращаемое значение - 123456

хотя в системной настройке оно зашифровано - https://prnt.sc/vdvtrg

как и в БД - https://prnt.sc/vdvuni

Здравствуйте! Воспользуйтесь данной конструкцией - https://prnt.sc/vdvss9

Как видно на скрине возвращаемое значение - 123456

хотя в системной настройке оно зашифровано - https://prnt.sc/vdvtrg

как и в БД - https://prnt.sc/vdvuni

А как можно получить такую зашифрованую строку в бизнес-процессе без применения "Задания-сценарий"?

Александр Тыра,

добрый день! В БП система не даст Вам сохранить данное значение в параметр -

https://prnt.sc/vg0fwn

Если Вам необходимо использовать авторизацию в стороннем web-сервисе и то создайте, заранее, в разделе Web сервис, выбрать метод аутентификации Basic и добавить в него пароль - https://prnt.sc/vg0ji6

и в бп использовать уже элемент "Вызвать веб-сервис" - https://prnt.sc/vg0k4o, в данном контексте можно так использовать пароль в зашифрованном виде, иначе только через задание сценарий. Подробнее о работе с элементом "Вызвать веб-сервис" описано в данной статье

Нигрескул Алексей,

у меня JWT авторизация, так что получение токена я реализовал отдельным элементом процесса, и к нему как раз системная настройка с паролем. Реализовал через задание-сценарий, но думал есть более красивый способ. Видимо реализую еще один элемент процесса "Получение зашифрованной настройки" с выбором настройки и на выходе разшифрованный текст, будет наверно удобнее

Александр Тыра,

добрый день! Т.е. данный токен нужно передавать в Json-объекте, верно? В таком случае создаете веб сервис без авторизации, создаете метод POST делаете тело передаваемого объекта и в нем уже можно указать нашу зашифрованную переменную - 

https://prnt.sc/vgm9dg 

https://prnt.sc/vgm9t6

Наверное Вы это искали?

 

Нигрескул Алексей,

 Да, я так и реализовал. Первый запрос получает токен отправляя логин и пароль (реализовал элемент процесса для удобства), и вот в него и передаю пароль из системной настройки зашифрованной

var client = new RestClient(urlForToken);
client.Timeout = -1;
var request = new RestRequest(urlMethod, Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Accept",
  "text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8");
request.AddParameter("username", login);
request.AddParameter("password", password);
IRestResponse response = client.Execute(request);
if (response.StatusCode == HttpStatusCode.OK)
{
	Token = response.Content;
}
StatusCode = (int)response.StatusCode;

А потом в вебсервис в поле для авторизации ложу полученный токен

Показать все комментарии