我确定我错过了什么。
我有一个MVC应用程序&使用Thinktecture Identity Server的SSO站点。 MVC应用程序使用混合流来验证SSO站点上的用户。 MVC站点使用Microsoft OpenIdConnect OWIN客户端与SSO通信。我的令牌有很短的寿命 - 大约5分钟,但我有刷新令牌,所以用户不断重新认证。这是一个非常有用的功能。
但是,当令牌需要刷新时,用户会通过SSO网站退回,这会破坏表单帖子,ajax调用等。这不太有用。
我是否可以不在服务器上进行此续订,而不是让用户代理执行此操作?我无法看到这样做的方法。
我还要调查滑动过期以尝试解决这个问题,尽管从安全的角度来看,我一直认为滑动过期是一个糟糕的想法。
答案 0 :(得分:1)
我错过了一些东西。我对谁负责各种活动感到困惑。
用户应在其令牌过期时通过SSO网站退回。我现在在cookie上有一个绝对时间限制的滑动到期。理想情况下,此限制应与令牌的到期时间相对应,但我有一个刷新令牌,因此可用于从服务器刷新令牌。
依赖方收到有效回复后,负责保持用户登录,而不是SSO站点。一旦令牌需要刷新,就可以使用SSO站点。