前端和后端部署在不同服务器中时的SSO流

时间:2020-09-07 16:50:07

标签: angular spring-boot spring-security single-sign-on

实施SSO OIDC时正确的身份验证和授权流程是什么?

我们有一个应用程序,其前端是Angular,后端是spring boot Restful Web服务,它们都部署在不同的服务器中。如果要实施SSO,正确的流程是什么?

如果从SSO重定向发生在前端

  1. 当有人碰到前端时,请检查用户是否使用本地存储登录到工具。如果用户未登录,则重定向到身份提供者(Idp)SSO登录。
  2. 成功登录后,Idp将授权代码发送到前端,并将相同的代码传递到后端。
  3. 后端使用SSO终结点基于授权代码client_id和client_secret生成Jwt令牌,并将令牌返回到前端。
  4. 从下一个请求到后端,我们需要将JWT令牌发送到后端。

如果我的理解正确,请告诉我。需要特别了解的是,我们可以将授权代码从服务器A传递到服务器B,因为它是短暂的,只能使用一次。

如果从SSO重定向到后端,那么我们能够成功生成Jwt令牌,但是如何使用用户信息重定向到主页?

谢谢

0 个答案:

没有答案