spring-security 将远程系统中的联合身份验证令牌转换为使用Spring Authorization Server创建的自定义令牌

pqwbnv8z  于 2022-11-11  发布在  Spring
关注(0)|答案(1)|浏览(175)

我们正在生产中成功地使用Spring Authorization Server 0.3.1。
我想集成Github上的联邦身份示例,请访问:https://github.com/spring-projects/spring-authorization-server/tree/main/samples/federated-identity-authorizationserver
我们成功地做到了这一点。这个难题的最后一部分是分发规范化令牌。我的意思是,我们为Spring Authorization Server解决方案提供了带有自定义声明的自定义令牌。我们希望将传入的联合令牌(来自Google、FB等)转换为我们的自定义令牌。
这里有一些关于Interwebz的文档:https://github.com/spring-projects/spring-security/issues/10033
目标是获取任何远程联合令牌,并将其转换为本地生成的自定义Spring授权服务器令牌,该令牌带有通过我们的定制器添加的额外声明,然后将其返回给我们的单页应用程序用户。
此外,SPA将尝试使用SAS或联合身份提供方刷新令牌。由于尚未远程设置重定向URI,因此远程系统将失败。
流量:

  • 用户从SPA 1登录
  • 用户被重定向到SAS示例
  • 用户选择使用Google的联合身份提供商登录
  • 用户通过Google验证
  • 用户使用有效令牌返回SAS示例
  • 如果系统中不存在该用户,则保存一条新的用户记录
  • 令牌被转换为我们自己的令牌类型
  • 用户被重定向回SPA 1
  • SPA 1与SAS服务器通信以检索新创建的令牌
  • 生活在继续,生活是美好的🦸‍♂️

如有任何建议,我们将不胜感激。

xoefb8l8

xoefb8l81#

正如@steveriesenberg在评论中指出的那样,the federated security examples已经展示了如何使用定制器来添加和删除声明,以及如何规范化主体名称。
如何自定义声明。
如何规范主体名称
谢谢你史蒂夫!

相关问题