angular - 实施 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 发生在哪里?
我将不胜感激任何指导。
解决方案
Okta 将替换图片中下方的三 (3) 个框:授权服务器、Active Directory 和登录对话框。此外,它还将替换一些数据库(第 10 和 11 行)。
这是我的建议:
- 从这个开始:Oauth2 和 OIDC 用简单的英语 ( https://www.youtube.com/watch?v=996OiexHze0 )
- 试试看:https ://www.oauth.com/playground/
- 在 Okta 上设置一个免费的开发者帐户并尝试 OIDC 示例。
在“最小化干扰”方面:
- 由于迁移到 Okta 是确定的,因此您需要将用户及其配置文件从 AD 和 DB 迁移到 Okta。
- 如果客户端和资源服务器上的实现是标准的,那么更改将是最小的(添加了一些读取 oidc/用户信息声明)。
推荐阅读
- c++ - NS3 log 时间精度
- python - Keras:生成图像的简单网络不会学到任何东西
- mysql - 如何在 wordpress 帖子内容中使用通配符删除字符串?
- python - tkinter 标签不适用于 if
- web-applications - 在我的脚本中的 jmeter 中,一些登录采样器未能获得 403 错误
- node.js - 如何定期获取远程公钥并存储在 Apollo graphql 服务器中?
- android - 谷歌cast MediaNotificationService 中的大量RemoteServiceExceptions
- sql - 在 oracle dbeaver 中将原始文本转换为_char
- ios - UIActivityViewController 的自定义标头
- php - 如何从日历中获取活动的创建者?