1

我正在尝试为在客户端具有 Angular 层和在服务器上具有 SpringBoot 的 Web 应用程序设计身份验证模式。此类 Web 应用程序的用户驻留在组织的网络中,登录到他们的 PC,并且应该使用 Web 应用程序,而无需通过另一个请求凭据的页面登录。

我一直在研究各种机制,但更遵循客户端基础设施的是Oauth2.0 框架RFC的授权代码授予。客户端实际上有一个 ADFS4.0 服务器,它将用作授权服务器并使用 JWT 进行回复。上述流程在第 4.1 节中进行了描述,而其他流程也可能对其他情况有用。

流程很清楚,但我无法理解一个(表面上)简单的事实:授权服务器如何识别用户?在这两个请求中,都没有包含凭据的参数,而假定他们最后获得的 access_token 将包含声明(用户名、组、角色等)。在这种情况下,我更愿意继续这样做,但是,在第 4.4 节中,我们有另一种流类型解释了用户插入凭据的位置。尽管如此,要求用户不要重新插入任何凭据。

我试图发现的一种方法是从用户代理(客户端的浏览器)从其工作机器(Windows 身份验证集成)中恢复用户详细信息。但它似乎需要在代理上进行配置,而不是对最终用户直接进行配置。众所周知,组织域使用 Kerberos 向其网络中的用户授予访问权限,但我看不出该组件是否适合该组件。

所以,最后的问题是:如何使用他们进入机器的配置文件执行自动身份验证(对用户隐藏)?授权代码授予是否以某种方式隐含地满足此要求?另外,您是否建议直接在 Angular 中处理所有重定向序列,还是利用 SpringSecurity 与 OAuth 的集成更好?

4

0 回答 0