2

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

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

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

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

4

1 回答 1

0

这里有些混乱。

SAMLRequest 是 SAML 2.0 协议。

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

你不能混合协议。

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

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

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

于 2017-09-07T03:00:01.853 回答