在应用程序中实现ADFS如何?

时间:2017-05-03 20:26:31

标签: saml-2.0 adfs

我需要在我的一个应用程序中实现ADFS,但是我遇到了如何处理这个问题的麻烦。

我个人的情况是,应用程序(SP)托管在AWS(仅托管)上,而IDP是实施Active Directory的第三方组织。 我想我已经解决了这个问题,比如:

- 浏览器尝试访问SP
- SP向IDP发送认证请求 - IDP验证用户(用户实际登录)
- 身份验证授权令牌从IDP发送到SP
- 用户可以使用该应用程序

已经决定我将不得不使用SAML 2.0作为协议,但现在我很难确切地知道该做什么以及从哪里开始。

我知道,不知何故,SAML 2.0必须在应用程序级别(在AWS上托管的SP)上启用,但具体如何?

我已经在网上阅读了一些帖子,这里有SO,但实际上并没有 - 至少我找不到 - 任何一种很好的教程都会展示如何做到这一点。

特别是,在SO上,我遇到了Spring Security SAML扩展,因为我的应用程序是一个spring应用程序,我认为从这开始就是一个好主意,但这就是全部吗?它是否处理发送和接收令牌?据我所知,身份验证请求令牌由SP发出(如上所述),然后由IDP STS读取,然后IDP STS发回一个身份验证令牌,但它是自动执行还是需要以某种方式配置?< / p>

1 个答案:

答案 0 :(得分:1)

您未在应用程序中实现ADFS。 ADFS是一个单独的IDP。

您的SP用什么语言编写?

“IDP是实施Active Directory的第三方组织”这是ADFS实例还是其他什么?在哪种情况下,ADFS适合哪些?

您需要的是SP上的SAML堆栈(这是Spring Security的用武之地)。

Spring Security提供联合元数据。这描述了SAML端点,证书等。

然后,您将此元数据文件作为SAML SP导入ADFS。

然后,您可以为要发送给SP的AD属性配置声明规则。

基本上就是这样!