如何在会话结束后强制客户端(RP)退出用户

时间:2019-08-11 14:43:12

标签: c# identityserver4 openid-connect hybridauth

拓扑

使用IdentityServer4实现的内部OIDC服务器(OP)。

用于SPA应用程序的内部后端客户端(RP)代理Web服务器。

RP用作资源的内部REST服务器。

身份验证流程

混合,具有启用了反向通道的OP和RP。

问题

RP处于“登录错觉”状态。当用户通过RP登录时,OP和RP会为用户正确创建服务器和本地会话cookie,并具有默认的到期时间。

由于没有刷新令牌流,因此存在这样一种情况,即用户的访问令牌已过期,而他们仍在使用过期的令牌访问资源服务器。正确地将401返回给用户。

如果我确实将用户的OP登录会话设置为过期,但是RP决定无限期地保持用户在本地登录,会发生什么情况?

我想到了一些可能的解决方案:

  1. 要求对每条路线进行挑战,以便启动对登录流程的重定向。

  2. 反向通道注销流程。

考虑到我们的体系结构,选项2似乎是最好的,但是我想知道它是否设计过度。当所说的用户已被OP退出后,我真的只需要RP即可退出其本地用户。

参考

  1. Idsrv signout

1 个答案:

答案 0 :(得分:0)

在我看来,正向或反向频道登出是正确的方法。

请记住,只有在用户明确退出后,它才会启动。

如果用户的会话发生更改,您还可以使用会话监视立即获得通知,然后采取适当的措施。但是请注意,此方法的默认实现不会将会话ID cookie的到期日期与主身份验证cookie对齐。

相关问题