目前正在为客户端请求首次集成ADFS解决方案。我们的客户端希望使用他们的文档和电子邮件管理服务NetDocuments提供的联邦登录功能,我们需要在我们自己的应用程序中模仿和支持它。
我们已经设置了一个本地ADFS域,并且已经能够获得我们的saml请求https://domain/adfs/ls/wia?SAMLRequest=...,但是从那里我们无法处理saml响应,其中将在浏览器中显示一个ADFS登录页面,以使用他们的网络凭据进行登录。相反,我们得到的是一个带有错误的响应字符串--“脚本被禁用。单击Submit以继续”时,将其视为HTML。
一旦我们能够对用户进行身份验证,我们就会收到来自NetDocuments的代码,我们可以在我们的应用程序中使用这些代码来检索令牌,以便将来登录。
是否有可能以编程方式对用户进行身份验证并绕过浏览器中的ADFS登录屏幕?
发布于 2017-09-07 03:00:01
这里有点混乱。
SAMLRequest是SAML2.0协议。
但是,“我们将从NetDocuments接收一个代码,我们可以在我们的应用程序中使用它来检索未来登录的令牌”是OpenID连接/ OAuth授权代码授权流。
你不能混淆协议。
听起来您需要专注于ADFS4.0支持的OpenID连接。
您所遇到的错误是因为SAML2.0是基于浏览器的,需要浏览器重定向才能工作。
看看ADAL,它提供了一个内置的登录屏幕,并使用OpenID连接。
https://stackoverflow.com/questions/46064782
复制相似问题