我有几个使用相同客户端的不同网址定义的租户
客户 - c1
租户 - t1,t2,t3
因此,我们的用户可以使用不同的URL访问客户端
除了尝试单点注销外,其他所有工作都很精彩。According to the docs,我们将使用客户端的字段 FrontChannelLogoutUri 打开IFrame以清除该客户端的Cookie。
如果我们为上述任何域设置 FrontChannelLogoutUri ,则SSO适用于 租户,但不适用于其他
问题:我们如何从上述任何租户退出?
我的想法是手动删除所有子域中的所有 Cookie,因此,使用 FrontChannelLogoutUri 作为http://c1.com/logout-confirm,因此它会清除其中的所有Cookie域/子域
Frame.E
如果我们打开一个带有该URL的新选项卡(在客户端表中定义),则会有效,但由于某种原因,IdentityServer在执行注销时不会使用该URL打开IFrame。
有什么想法吗?
答案 0 :(得分:0)
我所做的是使一个域成为通过FrontChanelLogoutUri注销的起点,例如http://t1.c1.com/logout
清除该子域的所有cookie,然后将重定向(302)返回到下一个域http://t2.c1.com/logout
,然后继续,直到您清除了所有域中的所有cookie。