使用SAML 2.0进行ADFS 4.0自动联合登录

时间:2017-09-05 23:46:16

标签: c# saml-2.0 adfs adfs4.0

目前正致力于首次为客户端请求集成ADFS解决方案。我们的客户希望使用他们的文档和电子邮件管理服务NetDocuments提供的联合登录功能,我们需要在我们自己的应用程序中模仿和支持。

我们已经设置了一个本地ADFS域,并且已经达到能够获取我们的saml url请求https://domain/adfs/ls/wia?SAMLRequest=...但是从那里我们无法处理在浏览器中显示ADFS登录页面的saml响应使用他们的网络凭据登录。我们得到的是一个响应字符串,其错误为“脚本被禁用。当被视为HTML时,单击”提交以继续“。

一旦我们能够对用户进行身份验证,我们就会收到NetDocuments的代码,我们可以在我们的应用中使用该代码来检索令牌以便将来登录。

是否可以以编程方式验证用户身份并绕过浏览器中的ADFS登录屏幕?

1 个答案:

答案 0 :(得分:0)

这里有些混乱。

SAMLRequest是SAML 2.0协议。

但是“我们会收到NetDocuments的代码,我们可以在我们的应用程序中使用它来检索令牌以便将来登录”是OpenID Connect / OAuth授权代码授权流程。

你不能混合协议。

听起来你需要专注于ADFS 4.0支持的OpenID Connect。

您获得的错误是因为SAML 2.0是基于浏览器的,需要浏览器重定向才能工作。

查看ADAL,它为您提供内置登录屏幕并使用OpenID Connect。