При отправке формы с сайта A на сайт B включает ли запрос POST файл cookie сайта B? - PullRequest
0 голосов
/ 24 мая 2019

Это в основном проблема OAuth2 / OIDC (IdentityServer4), возникающая, когда браузер пользователя загружает страницу службы идентификации (сайт A), которая ФОРМАТИРУЕТ ПОСТ authorization code и id_token обратно на сайт проверяющей стороны (сайт B).

Сайт проверяющей стороны (сайт B) получает запрос FORM POST, но у него нет файлов cookie сайта B, которые он ранее размещал в браузере пользователя, что приводит к сбою процесса проверки.

Я попытался установить заголовок ALLOW-CROSS-ORIGIN-ACCESS, но, похоже, он не помог в сценарии FORM POST (не вызов ajax).

В обычном приложении OAuth2Интеграция / OIDC, не следует ли ожидать отправки файлов cookie обратно на сайт проверяющей части (Сайт B) вместе с authorization code & id_token?Или, более часто, описывая это, при размещении формы с сайта A на сайт B, не следует ли мне ожидать, что какие-либо файлы cookie сайта B будут частью запроса на сайт B?

1 Ответ

1 голос
/ 24 мая 2019

Это не CORS, это еще одна проблема, скорее всего связанная с политикой использования файлов cookie на одном сайте.И это очень специфично для браузера.

Когда ваш сайт B является ядром ASP.NET, вы можете установить:

services.ConfigureApplicationCookie(opts=>{opts.Cookie.SameSite = SameSiteMode.None;});
//and
app.UseCookiePolicy(new CookiePolicyOptions{MinimumSameSitePolicy = SameSiteMode.None});

(см. Более подробное обсуждение в ASP.NET Core github * 1007).*)

или используйте более интеллектуальный и безопасный трюк с переключением другой сайт на тот же сайт POST, предложенный автором Identity Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...