SSPI协商失败WSTrustChannelFactory

时间:2017-09-15 15:37:24

标签: wif adfs ws-trust adfs4.0

这个让我有一段时间了,我正在尝试构建一个可以调用.net web / wcf服务SP的控制台应用程序,第一步是从idP(ADFS4.0)获取一个令牌粘贴代码工作正常一整天,在某些时候它停止了以下错误:

for(; it != paths.end(); it++) { if((*it).first.first == (*it--).first.first ) { it++; cout << (*it).first.first << " "; cout << (*it--).first.first << endl; it++; } else { it++; } }

内部错误是:

SOAP security negotiation with 'https://adfs.domain.in/adfs/services/trust/13/windowsmixed' for target 'https://adfs.domain.in/adfs/services/trust/13/windowsmixed' failed. See inner exception for more details.
The Security Support Provider Interface (SSPI) negotiation failed.

我尝试了/ 13 / windows和/ windowstransport以及端点。

NativeErrorCode:   0x80090350  -> SEC_E_DOWNGRADE_DETECTED

1 个答案:

答案 0 :(得分:0)

就我而言,出于某种原因,ADFS可通过VPN获得,但基于AD的身份验证位不会通过VPN发生。这就是SEC_E_DOWNGRADE_DETECTED即将到来的原因。在常规的非VPN环境中,事情是好的。

另外,另一个观察是在常规企业网络上生成SAML令牌。即使在VPN上,生成SAML令牌的后续调用也按预期进行。

因此,如果您看到此错误,只需检查您所在的网络是否属于域(而非公共或专用网络),以进行SSPI协商。