通过Oauth2在ADFS 4.0上进行SpringBoot和Angular 6身份验证

时间:2019-05-15 09:38:14

标签: angular spring-boot oauth-2.0 openid adfs4.0

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

我一直在研究各种机制,但是在客户端上遵循更多基础结构的机制是Oauth2.0框架的{strong> 授权代码授予 }}。客户端实际上确实具有ADFS4.0服务器,该服务器将用作授权服务器并通过JWT进行答复。 上述流程在第4.1节中进行了描述,同时还有其他流程可能对其他情况有用。

流程很清楚,但是我无法理解一个(从表面上)简单的事实: 授权服务器如何识别用户? 没有参数包含凭据,但假定它们最后获得的access_token将包含声明(用户名,组,角色等)。我宁愿选择这种情况,但是在4.4节中,我们介绍了另一种流类型,用户在其中插入凭据。 尽管如此,要求用户重新插入任何凭据。

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

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

0 个答案:

没有答案