#c# #.net #asp.net-mvc #.net-core #identityserver4
#c# #.net #asp.net-mvc #.net-ядро #identityserver4
Вопрос:
Я пытаюсь выполнить обратный вызов метода клиентского действия .net Framework после выхода из системы. Для этого я пытаюсь отправить PostLogoutRedirectUri от клиента при выходе из системы. Проблема, с которой я сталкиваюсь, заключается в том, что предположим, у меня есть два клиента .net Framework A и B в одном браузере. Если я вхожу с клиента A и пытаюсь выйти из системы с того же клиента, я могу получить PostLogoutRedirectUri при выходе с сервера идентификации 4 из-за правильного id_token, но при входе с клиента A и попытке выхода с клиента B (уже авторизованного) из-за другого id_token у клиента A PostLogoutRedirectUri и LogOutId равно нулю при выходе с сервера идентификации. Ниже приведены скриншоты моего кода и то, что я пытаюсь сделать:
Клиент A
Клиент B
Сценарии
Ответ №1:
Проблема заключалась в том, что клиент A и клиент B использовали один и тот же файл cookie, сгенерированный тем, какой клиент войдет в систему первым. Файл cookie использовался совместно обоими клиентами, поскольку оба клиента работали в одном домене, который является localhost, поэтому из-за одного и того же домена разных клиентов генерировался только один файл cookie. Это было решено путем присвоения cookie другого имени в startup.cs каждого клиента.