为什么我需要使用Spring OAuth2 JbdcTokenStore的粘性会话?

时间:2014-12-15 09:39:07

标签: spring spring-mvc spring-security spring-security-oauth2

我想将Spring OAuth2与负载均衡器一起使用。 我在想,如果我使用

  authorized-grant-types="password,authorization_code,refresh_token"

我只需要一个JdbcTokenStore就可以了,因为每个Spring服务器都可以访问相同的数据库。

但现在我正在阅读this github link

Even with these (Jbc) services ... needs to be fronted by a load balancer with sticky 
sessions

为什么我需要使用JbdcTokenStore进行粘性会话?

1 个答案:

答案 0 :(得分:2)

任何基于会话的交互都需要粘性会话,因为会话数据不在服务器之间共享。例如,在授权代码流期间对用户进行身份验证时,会对其进行身份验证并创建会话。如果您没有使用粘性会话,那么在浏览器与授权服务器的交互之间可能会丢失身份验证信息。会话将用于在登录时缓存其初始请求,并在用户检查和授权客户端请求的范围时保留身份验证信息。