【问题标题】:Implementing Okta - Angular SPA + SpringBoot + Oauth2实施 Okta - Angular SPA + SpringBoot + Oauth2
【发布时间】:2021-09-24 20:36:26
【问题描述】:

希望我的问题能帮到你。

我需要实施 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 服务器上执行令牌自省。 当前的 Oauth 流类型是隐式的(我知道即使 Spring Security Oauth 作为 Spring Proyect 也已被弃用) 所以,我一直在追赶 Oauth(我附上了一张图片,其中包含我的应用程序目前在安全方面所做的步骤,当然还有一定程度的抽象)并阅读了一点 OIDC,据了解,这是一个薄层它适用于处理用户身份的 oauth。

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

如有任何指导,我将不胜感激。

【问题讨论】:

    标签: angular spring-boot spring-security-oauth2 okta


    【解决方案1】:

    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/用户信息声明)。

    【讨论】:

    • 还有一件事,Spring Authorities 也需要去 Okta 吗?
    • 我对 Spring 的经验较少,但假设这是关于返回用户配置文件和角色/组。如果是,那么那些也来自 Okta。进入您的开发者帐户后,您将看到他们所在的位置。
    猜你喜欢
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 2019-04-11
    • 2021-04-12
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2018-12-28
    相关资源
    最近更新 更多