【问题标题】:How to store OAuth2 session into database and share it between Spring Boot servers如何将 OAuth2 会话存储到数据库中并在 Spring Boot 服务器之间共享
【发布时间】:2020-09-11 13:06:00
【问题描述】:

我想根据该教程创建一个解决方案:https://www.baeldung.com/rest-api-spring-oauth2-angular

但我不清楚负载均衡后的多个 Spring Boot 服务器如何共享同一个令牌会话。

使用会话 cookie,会话数据可以存储在 MySQL 中,如果服务器离线,会话将由另一个 Spring Boot 服务器恢复。

我们能否对 OAuth2 进行与共享数据库相同的设置,以便可以共享会话数据并且服务器的切换可以对最终用户完全透明?

【问题讨论】:

    标签: spring spring-boot spring-security oauth-2.0 spring-oauth2


    【解决方案1】:

    我们可以在 OAuth2 中使用与共享数据库相同的设置吗? 会话数据可以共享,服务器可以切换 对最终用户完全透明?

    是的,您只需定义一个 JdbcTokenStore 并使用它而不是默认的 InMemoryStore 来存储您的 OAuth 令牌。 JdbcTokenStore 必须使用指向 MySQL 数据库的 DataSource

    最后,如果您通过定义 DataSource 将 Spring Boot 应用程序配置为连接到相同的 MySQL 数据库以存储令牌,您就可以使其正常工作。

    这个post 可能是一个很好的起点。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2016-05-03
    • 2016-07-23
    • 1970-01-01
    相关资源
    最近更新 更多