Запрос к /connect/userinfo
аутентифицируется с помощью куки-файла аутентификации сеанса в домене / пути IdentityServer.
Я предполагаю, что куки-файл правильно включен в запрос OPTIONS, но не в последующем GET-запросе.Это то, что вы можете проверить в инструментах разработчика браузера, посмотрев на запрос.
Если мое предположение верно, причина, вероятно, в том же атрибуте сайта.Все файлы cookie аутентификации в ASP.NET Core (которые использует IdentityServer4) по умолчанию имеют атрибут samesite для предотвращения атак подделки межсайтовых запросов.
Согласно информации , я могу найти cookie с таким же сайтом= lax не допускается из запроса Get AJAX.Однако я не могу найти ничего, если это разрешено в запросе OPTIONS.Вы можете проверить (используя инструменты разработчика browswer), есть ли настройка одинакового сайта в заголовке cookie в ответе от первого запроса на /connect/authorize
.
Сам параметр находится в разделе Cookie
Варианты cookie в звонке на AddCookie()
.Документы MS говорят, что по умолчанию это lax
.
С другой стороны, в репозитории Idsrv4 есть поток GitHub , который говорит, что они изменили значение по умолчанию на "none"для файла cookie сеанса Idsrv4.
Я, очевидно, немного догадываюсь здесь, но должно быть довольно просто проверить мои предположения, как описано выше.