注销后回调到客户端应用程序-身份服务器4

时间:2019-03-20 14:05:27

标签: c# .net asp.net-mvc .net-core identityserver4

我尝试注销后回调.net框架客户端操作方法。为此,我正尝试从注销时的客户端发送PostLogoutRedirectUri。 我面临的问题是,假设我有两个.net框架客户端 A和B  相同的浏览器。如果我从客户端A 登录并尝试从同一客户端注销,由于正确的 id_token ,我能够在身份服务器4 LogOut中获得PostLogoutRedirectUri,但是从< strong>客户端A ,由于客户端A 的不同 id_token ,我尝试从客户端B 注销(已登录并获得授权) strong>身份服务器LogOut中的PostLogoutRedirectUri和LogOutId为null。 以下是我的代码以及我要执行的操作的屏幕截图:

  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 个答案:

答案 0 :(得分:1)

问题在于客户端A和客户端B使用的是由哪个客户端首先登录生成的相同cookie。 Cookie在两个客户端之间共享是因为两个客户端都在同一个域(即localhost)上运行,因此由于不同客户端的域相同,因此仅生成了一个cookie。通过在每个客户端的startup.cs中为cookie赋予不同的名称来解决该问题。

相关问题