加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-authentication – STS不支持请求的身份验证方法

发布时间:2020-12-14 05:44:50 所属栏目:Windows 来源:网络整理
导读:我们的 Java应用程序与客户ADFS 3.0服务器联合. 通过SAMLP向ADFS服务器发送身份验证请求(SP已启动)后出现问题. 它适用于Intranet用例,其中在身份验证策略中的ADFS服务器上指定了Windows身份验证. SP应用程序正在使用ForgeRock的Fedlet库,它强制发送带有SAML
我们的 Java应用程序与客户ADFS 3.0服务器联合.
通过SAMLP向ADFS服务器发送身份验证请求(SP已启动)后出现问题.
它适用于Intranet用例,其中在身份验证策略中的ADFS服务器上指定了Windows身份验证.
SP应用程序正在使用ForgeRock的Fedlet库,它强制发送带有SAML身份验证请求的RequestedAuthnContext属性:

samlp:RequestedAuthnContext xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                             Comparison="exact"
                             >
    <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>

我们最初还发布了外部网身份验证,其中在ADFS上选择了表单身份验证.我们通过为RP添加Claim自定义规则解决了这个问题:

exists([Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"]) => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod",Value = "urn:oasis:names:tc:SAML:2.0:ac:classes:Password");

现在,我们将使用Intranet用例进行堆叠.
在ADFS方面,我们得到以下错误:

MSIS7102: Requested Authentication Method is not supported on the STS.
   at Microsoft.IdentityServer.Web.Authentication.GlobalAuthenticationPolicyEvaluator.EvaluatePolicy(IList`1 mappedRequestedAuthMethods,AccessLocation location,ProtocolContext context,HashSet`1 authMethodsInToken,Boolean& validAuthMethodsInToken)
   at Microsoft.IdentityServer.Web.Authentication.AuthenticationPolicyEvaluator.RetrieveFirstStageAuthenticationDomain(Boolean& validAuthMethodsInToken)
   at Microsoft.IdentityServer.Web.Authentication.AuthenticationPolicyEvaluator.EvaluatePolicy(Boolean& isLastStage,AuthenticationStage& currentStage,Boolean& strongAuthRequried)
   at Microsoft.IdentityServer.Web.PassiveProtocolListener.GetAuthMethodsFromAuthPolicyRules(PassiveProtocolHandler protocolHandler,ProtocolContext protocolContext)
   at Microsoft.IdentityServer.Web.PassiveProtocolListener.GetAuthenticationMethods(PassiveProtocolHandler protocolHandler,ProtocolContext protocolContext)
   at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)

我能为它添加/做些什么吗?是否有可能在自定义规则中说如果它是INTRANET,AUTH方法是WINDOWS或类似的东西?

解决方法

你总是可以尝试authnContextClassRef =“urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified”,这应该让IdP选择它可以使用的任何东西.作为SP,您真的不知道(并且您应该关心吗?)IdP可以使用哪些方法…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读