EAI+sso场景中的共享会话超时



当使用SSO在不同的"web应用程序"之间集成时,用户可能会在这些应用程序之间来回切换。当用户在这些应用程序之间导航时,除了在用于sso的Identity Provider上创建的会话之外,还会在每个应用程序上创建一个本地会话。

因此,问题是当应用程序具有不同的会话超时时,会导致用户体验中断。会话超时发生在一个应用程序中,而用户正在处理另一应用程序。当导航回用户以前访问过的应用程序时,会发生错误。这让用户感到困惑,因为他们没有意识到自己正在处理不同的应用程序。

避免这个问题的一种方法是每个应用程序都可以访问一个"全局会话"对象。当用户访问任何受保护的资源时,应用程序会检查全局会话是否存在,并在处理请求之前更新其时间戳。本地会话永远不会过期(或超时时间很长)。但是,当用户注销时,全局会话对象将被逐出,所有应用程序都会注销。

这似乎有点严厉,因为:

  • 全局会话对象成为单点故障
  • 对全局进行"进程外"检查的性能session对象,并在每次访问时更新时间戳受保护的请求

关于如何实现这一点,还有其他想法吗?

When navigating back into the application the user had 
visited previously, an error occurs.

我不认为这是个错误。应用程序将把请求重定向到SSO提供程序,由于用户已经拥有有效的SSO会话,因此这将是一次成功的SSO操作,应用程序可以重新建立一个新的/过期的会话。

相关内容

  • 没有找到相关文章

最新更新