frontend - 如何使用前端/后端架构正确实现 SSO

标签 frontend single-sign-on backend

我想就基于前端/后端架构实现 SSO 登录的推荐或标准方法寻求建议。

目前,我需要实现第 3 方 SSO 登录。流程如下:

  1. 用户在我的网站点击“第三方登录”
  2. 路由到用于 SSO 登录的第 3 方界面。
  3. 完成登录后,重定向回我的网站

仅供引用,我的系统架构由前端(角度)和后端(rest api - 无状态)组成。基于以上案例,我可以想到两种集成方式:

方式一

  1. 用户点击前端的“第三方登录”
  2. 路由到 SSO 登录的第 3 方界面。
  3. 完成登录后,重定向回后台
  4. 验证请求并设置 token ,后端将重定向到我的前端

方式二

  1. 用户点击前端的“第三方登录”
  2. 路由到用于 SSO 登录的第 3 方界面。
  3. 完成登录后,重定向回前端
  4. 前端将调用后端以验证并获取结果/ token
  5. 如果验证成功,前端将重定向到主页。

方式一和方式二的区别在于“重定向URL”。当 SSO 登录完成时,它应该总是路由到前端或后端?

请就推荐/标准实现向我提出建议。

顺便说一句,我尝试在线查看但没有看到任何合适的建议。如果你找到了,请分享给我。再次感谢并感谢您的帮助。

最佳答案

我现在知道实现该场景的推荐/标准方法。

但是,我参与了一个在前端实现 sso 的项目。但在我看来,这取决于您的项目。

如果在前端实现,他们必须在每次调用后端时传递 token 。后端每次都必须检查 token ,这样就没有人能够直接调用后端,例如 postman 。

如果在后端实现,则前端将不必传递 token 。由于后端维护 token ,因此已经处理了 api 的外部调用。

关于frontend - 如何使用前端/后端架构正确实现 SSO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55797711/

相关文章:

javascript - 关于请求动画帧的问题

javascript - Material 组件-web : How to increase width of a Tempory Drawer?

java - 检查用户是否登录到应用程序(Appfuse 项目)

single-sign-on - 是否可以让 Okta 在 ServiceNow 中复制 AD 组(及其成员)?

javascript - 如何批准 Firebase 的用户注册?

amazon-web-services - 如何在 AWS 上部署带有 express 后端的 nuxt 前端?

javascript - 如何避免 ReactJs 中的 CSS 冲突

javascript - 通过 Azure AD 身份验证进行单点登录 (SSO) 时出错 - AADSTS50059

node.js - 无法从 Node js 后端连接到 documentDB aws

ios - 如何在 ios11.3 移动设备中调试 service worker/pwa?