使用 FE 和 BE 的安全 Oauth2 Web 应用程序流程是正确的方法吗?

问题描述 投票:0回答:1

我们有一个 Web 应用程序,它创建一个用于身份验证的内部 JWT 以及一个安全 cookie。由于该组织已转向 Okta,因此要求将该登录流程集成到我们的应用程序中。

它带来了很多挑战,经过一些分析,我想我知道我想如何处理它:

  • Okta 应用程序已配置为授予。重定向和注销回调指向 FE 客户端 URL
  • FE 客户端调用 Okta 服务器以获取 authorizationCode
  • FE客户端调用BE服务器进行登录,传入authorizationCode作为参数
  • BE 调用 okta
    /token
    端点来获取 okta 承载令牌并解析结果以获得
    userName
  • 内部 JWT 是根据用户名和关联角色创建的,并与安全 cookie 一起发送回 FE

这个流程有意义吗?安全吗?我看到的大多数文献和例子都倾向于涉及 SPA 或整合 BE 中的所有内容。

由于 Spring oauth2 集成的不透明性,我赞成暂时避免这种情况,并手动构建对

/token
端点的 POST 调用。

spring-boot oauth-2.0 okta
1个回答
0
投票

我不建议铸造您自己的 JWT。我建议将前端和后端打包在一起,并在后端进行所有身份验证。特别是如果您的应用程序位于同一主机上。如果它们不能位于同一主机上,请在前端进行身份验证并将访问令牌传递到后端。

这两个教程展示了如何将应用程序打包在一起,同时保持单独处理它们的开发工作流程。

本教程展示了如何在前端进行所有身份验证:

如果有帮助请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.