gpt4 book ai didi

spring - oauth2 身份验证数据 blob 持久性方法的优缺点

转载 作者:行者123 更新时间:2023-12-01 05:02:39 27 4
gpt4 key购买 nike

我计划使用“Spring Security OAuth”框架作为具有访问 token 、刷新 token 和代码功能的 OAUTH2 授权服务器的基础。

默认情况下,框架使用 java 序列化在数据库表 oauth_code、oauth_access_token 和 oauth_refresh_token 中存储额外的身份验证数据(“身份验证”列)。

我想开始讨论以找出这种方法的利弊,我很想知道是否有计划改变这种情况。

缺点:

  • 如果新版本无法反序列化先前版本的数据,则无法进行框架版本升级
  • 不需要的数据:blob 可能包含根本不需要的数据(例如原始请求)
  • 敏感数据:blob 可能包含敏感数据,如用户凭据
  • 数据冗余:上面列出的表的数据存储了3次
  • 数据分析:纯SQL语句无法选择鉴权数据

  • 优点:
  • 扩展:无需架构迁移即可轻松扩展数据(最好从头开始)

  • “blob”方法的替代方法:
  • 将身份验证数据存储在单独的表(例如 oauth_authentication)中,其中包含真正需要的每条信息(例如用户 ID、客户端 ID、范围等)的数据列以及来自 oauth_code、oauth_access_token 和 oauth_refresh_token 的外键。

  • 替代方案的负面后果是什么?

    非常感谢!

    最佳答案

    @丹尼斯:我完全同意你的看法。目前我正在解决这个 blob 持久性问题。由于 spring 升级了安全版本,它给我们带来了 n 多个问题。您的第一点缺点:如果新版本无法反序列化先前版本的数据,则无法升级框架版本。我认为这应该在 OAuth2 框架中优雅地处理。

    关于spring - oauth2 身份验证数据 blob 持久性方法的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31612475/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com