Вопрос

Csrf параметр при запросе в AuthService

Добрый день!

Столкнулся со следующей ситуацией: 
При запросе авторизации к AuthService через fiddler возвращаются данные BPMCSRF, и при запросе к кастомному сервису указывая данный аттрибут в хэдере запроса получаю ответ 200, ок.
Однако, при программном вызове AuthService через метод, предоставленный на статье академии (TryLogin) и при запросе к сервису с данными Cookie получаю ответ 403 - запрещено. Ошибка возникает, т.к. нет отдельного хэдера BPMCSRF содержащего значения из Cookie.

Вопрос, как добавить данные  BPMCSRF в запрос программно?

У меня такой же вопрос

2 комментария

Здравствуйте, Дмитрий.

Вы должны из кук получить параметр, и добавить его в хедер:

 CookieCollection cookieCollection = AuthCookie.GetCookies(new Uri(authServiceUri));
    string csrfToken = cookieCollection["BPMCSRF"].Value;
    ((HttpWebRequest)e.Request).Headers.Add("BPMCSRF", csrfToken);

Детали по ссылке - https://academy.terrasoft.ru/documents/technic-sdk/7-12/zashchita-ot-cs…

Сергей Кy6риш,

Сергей, спасибо, все получилось.

Войдите или зарегистрируйтесь, чтобы комментировать