Обратный вызов клиентского приложения после выхода из системы - Identity Server 4 - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь вызвать метод действия клиента .net framework после выхода из системы. Для этого я пытаюсь отправить PostLogoutRedirectUri от клиента при выходе. Проблема, с которой я сталкиваюсь, - это предположить, что у меня есть два клиента .net Framework A и B на тот же браузер. Если я вхожу в систему с клиента A и пытаюсь выйти из системы с того же клиента, я могу получить PostLogoutRedirectUri на сервере идентификации 4 LogOut из-за правильного id_token , но при входе в систему с клиент A , и я пытаюсь выйти из клиента B (уже вошел в систему и авторизован) из-за различных id_token из клиента A PostLogoutRedirectUri и LogOutId is null в идентификационном сервере LogOut. Ниже приведены скриншоты моего кода и то, что я пытаюсь сделать:

  1. Выйти из клиентского приложения. enter image description here

Клиент A

  1. Startup.cs клиента enter image description here

  2. Конфигурация сервера идентификации enter image description here

Клиент B

  1. Startup.cs клиента enter image description here

  2. Конфигурация сервера идентификации enter image description here

Сценарии

  1. Вход с клиента A и выход с одного клиента снимок экрана сервера идентификации enter image description here

  2. Вход в систему с клиента A, открытие клиента B (авторизовано) и выход из клиента B снимок экрана сервера идентификации enter image description here

1 Ответ

1 голос
/ 21 марта 2019

Проблема заключалась в том, что клиент A и клиент B использовали один и тот же файл cookie, сгенерированный первым клиентом.Файлы cookie распределялись между обоими клиентами, поскольку оба клиента работали в одном домене, который является локальным, поэтому из-за того же домена разных клиентов генерировался только один файл cookie.Это было решено путем присвоения cookie различного имени в startup.cs каждого клиента.

...