Identity Server 3多个LogoutUris用于同一客户端

时间:2016-10-28 15:00:43

标签: asp.net-mvc identityserver3

我有一个MVC应用程序,它是多租户,按域名区分:

app.tenant1.com

app.tenant2.com

我在IdentityServer(混合流程)中有一个客户端 与

RedirectUris = [http://app.tenant1.com, http://app.tenant2.com]

PostLogoutRedirectUris = [http://app.tenant1.com, http://app.tenant2.com]

但Logout uri只允许字符串值,而不是字符串列表

LogoutUri = "http://app.tenant1.com/home/SignoutCleanup";

我的问题是,当我从 app.tenant2.com 点唱时,我希望LogoutUri成为" http://app.tenant2.com/home/signoutcleanup"

有没有办法做到这一点?

由于

PS:有没有办法将数据传递给SingoutMessage中的IS3?类似于我们如何在acr_values中传递数据?

PPS:我已经实现了CustomEventService并记录了用户登录。是否还有记录退出事件的方法?

谢谢:)

修改

我发现这是为了生成iframe而调用的网址,而iframe又会为所有应用调用注销

/型芯/连接/ endsessioncallback

有没有办法拦截这个网址并对其进行更改?

1 个答案:

答案 0 :(得分:0)

鉴于将cookie限定为主机名的限制,您可以更改将此客户端配置为多个客户端的方式。另一个想法是使用主机级cookie来跟踪租户,然后使用主机级注销清理URL。