java 在数据库中存储来自OIDC令牌的声明所提供的信息有什么好处

myzjeezk  于 2022-12-21  发布在  Java
关注(0)|答案(1)|浏览(63)

我在我的Spring Java应用程序中使用了一个OIDC令牌,它包含了我识别应用程序的用户和角色所需的所有声明。稍后我将以Spring Security上下文使用的UserDetails类所要求的格式存储所有这些数据。将数据持久化到用户表和角色表中以便稍后检索有什么好处?我可以只转述令牌的声明吗?
此致,

mnemlml8

mnemlml81#

我看不出将索赔保存在DB中有什么好处:

  • 在数据库中保存声明是昂贵的。2当声明应该存在于JWT中(或者当内省一个不透明的令牌时被检索)时,从数据库中检索它也是昂贵的(较少,但仍然)。
  • access-token有一个(短)过期时间。您是否打算实现一些功能以在过期时从数据库中删除声明?

应该依赖令牌中的数据(或者在自省的情况下附加到令牌上)。这些数据由授权服务器发出、签名和控制,授权服务器应该是身份的唯一参考。

相关问题