首页 > 解决方案 > 实施 Okta - Angular SPA + SpringBoot + Oauth2

问题描述

希望我的问题能找到你。

我需要将 OKTA 作为企业计划的一部分来实施,并且我正在寻找一些关于我目前情况的一般指导。

实际上,我已经有两组生产性 Oauth2 实现(使用 spring-security-oauth2),有两个不同版本的 SpringBoot(1.X 和 2.X)。使用 Spring LdapAuthenticationProvider 作为身份验证阶段的一部分,将身份验证委托给企业 Active Directory。登录是由 oauth 服务器使用 Spring MVC 使用 html 模板完成的。权限和用户详细信息由存储在 Oracle 数据库中并通过 jdbc 检索的自定义用户和授权遗留模型实现。在前面,我有多个 Angular 客户端(AngularJs 和 Angular),每个客户端在后面都有自己的 Springboot 微服务,每个客户端都在 Oauth 服务器上执行令牌自省。

实际的问题是,在没有太多干扰的情况下与 OKTA 建立联系的最佳方法是什么。我还没有达到技术点,可能拥有不同版本的 Spring 可能会迫使我采用一种特定的方式。例如,是否会像在每个 Oauth WebSecurityConfigurer 中编写额外的身份验证提供程序一样简单?升级所有应用程序的 SpringFramework 版本并从那里使用最新的启动器会更健康吗(我知道有一个 okta 启动器),特别是 1.X 中的启动器。关于我附上的图表,Okta 发生在哪里?

我将不胜感激任何指导。

在此处输入图像描述

标签: angularspring-bootspring-security-oauth2okta

解决方案


Okta 将替换图片中下方的三 (3) 个框:授权服务器、Active Directory 和登录对话框。此外,它还将替换一些数据库(第 10 和 11 行)。

这是我的建议:

  1. 从这个开始:Oauth2 和 OIDC 用简单的英语 ( https://www.youtube.com/watch?v=996OiexHze0 )
  2. 试试看:https ://www.oauth.com/playground/
  3. 在 Okta 上设置一个免费的开发者帐户并尝试 OIDC 示例。

在“最小化干扰”方面:

  • 由于迁移到 Okta 是确定的,因此您需要将用户及其配置文件从 AD 和 DB 迁移到 Okta。
  • 如果客户端和资源服务器上的实现是标准的,那么更改将是最小的(添加了一些读取 oidc/用户信息声明)。

推荐阅读