我想就基于前端/后端架构实现 SSO 登录的推荐或标准方法寻求建议。
目前,我需要实现第 3 方 SSO 登录。流程如下:
- 用户在我的网站点击“第三方登录”
- 路由到用于 SSO 登录的第 3 方界面。
- 完成登录后,重定向回我的网站
仅供引用,我的系统架构由前端(角度)和后端(rest api - 无状态)组成。基于以上案例,我可以想到两种集成方式:
方式一
- 用户点击前端的“第三方登录”
- 路由到 SSO 登录的第 3 方界面。
- 完成登录后,重定向回后台
- 验证请求并设置 token ,后端将重定向到我的前端
方式二
- 用户点击前端的“第三方登录”
- 路由到用于 SSO 登录的第 3 方界面。
- 完成登录后,重定向回前端
- 前端将调用后端以验证并获取结果/ token
- 如果验证成功,前端将重定向到主页。
方式一和方式二的区别在于“重定向URL”。当 SSO 登录完成时,它应该总是路由到前端或后端?
请就推荐/标准实现向我提出建议。
顺便说一句,我尝试在线查看但没有看到任何合适的建议。如果你找到了,请分享给我。再次感谢并感谢您的帮助。
最佳答案
我现在知道实现该场景的推荐/标准方法。
但是,我参与了一个在前端实现 sso 的项目。但在我看来,这取决于您的项目。
如果在前端实现,他们必须在每次调用后端时传递 token 。后端每次都必须检查 token ,这样就没有人能够直接调用后端,例如 postman 。
如果在后端实现,则前端将不必传递 token 。由于后端维护 token ,因此已经处理了 api 的外部调用。
关于frontend - 如何使用前端/后端架构正确实现 SSO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55797711/