SAML 和 SSL Offloader 组合导致错误

SAML 和 SSL Offloader 组合导致错误

昨晚我们尝试将一个网站迁移到我们的新托管服务提供商。这个新托管服务提供商使用 SSL 卸载程序,这会导致使用 SAML 的网站出现问题。迁移后,当我们尝试使用 SAML 登录时,我们收到以下错误,在错误和 web.config 中,我将客户的名称更改为客户。我们认为 SAML 需要 HTTPS 响应,但它得到的是 HTTP 响应。有没有办法从 web.config 中影响这一点。我还添加了一个 web.config 部分,其中包含有关 SAML 的大部分客户配置,我们还尝试将 CookieHandler 设置为 False,但出现同样的错误。我希望你们能帮助我们!

Web.Config 配置

<!-- SAML authService -->
<kentor.authServices
   entityId="customersaml"
   returnUrl="https://customer.domain.com"
   validateCertificates="false">
   <identityProviders>
        <add entityId="http://ahauth01.customer.nl/adfs/services/trust" signOnUrl="https://ahauth01.customer.nl/adfs/ls/" allowUnsolicitedAuthnResponse="true" binding="HttpPost">
            <signingCertificate fileName="~/Config/customer.crt" />
        </add>
    </identityProviders>
</kentor.authServices>

<system.identityModel.services>
    <federationConfiguration>
        <cookieHandler requireSsl="true"/>
    </federationConfiguration>
</system.identityModel.services>

<system.identityModel>
    <identityConfiguration>
      <securityTokenHandlers>
        <securityTokenHandlerConfiguration>
          <audienceUris mode="Never" />
        </securityTokenHandlerConfiguration>
      </securityTokenHandlers>
    </identityConfiguration>
</system.identityModel>

错误

Saml Customersaml Microsoft.IdentityServer.Service.Policy.PolicyServer.Engine.AssertionConsumerServiceUrlDoesNotMatchPolicyException:MSIS3200:在依赖方信任“microsoft:identityserver:Customersaml”上未配置与 AssertionConsumerService URL 前缀匹配的 AssertionConsumerService'http://Customer.domain.com/AuthServices/Acs' 由请求指定。在 Microsoft.IdentityServer.Service.SamlProtocol.EndpointResolver.LookupAssertionConsumerServiceByUrl(Collection`1 assertionConsumerServices、Uri requestedAssertionConsumerServiceUrl、String scopeIdentity)在 Microsoft.IdentityServer.Service.SamlProtocol.EndpointResolver.FindSamlResponseEndpointForAuthenticationRequest(Boolean articulationEnabled、AuthenticationRequest 请求、ScopeDescription scopeDescription)在 Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.GetResponseEndpointFromRequest(SamlRequest 请求、Boolean isUrlTranslationNeeded、ScopeDescription 范围)在 Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.Issue(HttpSamlRequestMessage httpSamlRequestMessage、SecurityTokenElement onBehalfOf、String sessionState、String replyState、String& newSamlSession、String& samlpAuthenticationProvider,布尔值 isUrlTranslationNeeded,WrappedHttpListenerContext 上下文,布尔值 isKmsiRequested)位于 Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestBearerToken(WrappedHttpListenerContext 上下文,HttpSamlRequestMessage httpSamlRequest,SecurityTokenElement onBehalfOf,字符串 dependingPartyIdentifier,布尔值 isKmsiRequested,布尔值 isApplicationProxyTokenRequired,字符串&amp; samlpSessionState,字符串&amp; samlpAuthenticationProvider)位于 Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSerializedToken(HttpSamlRequestMessage httpSamlRequest,WrappedHttpListenerContext 上下文,字符串 dependingPartyIdentifier,SecurityTokenElement signOnTokenElement,布尔值 isKmsiRequested,布尔值 isApplicationProxyTokenRequired)位于Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSecurityToken(SamlSignInContext 上下文、SecurityToken securityToken、SecurityToken deviceSecurityToken)位于 Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process(ProtocolContext 上下文)位于 Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext、PassiveProtocolHandler protocolHandler)位于 Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext 上下文)

答案1

检查 AD FS 上的依赖方信任并查看端点。它是否有路径的端点'http://Customer.domain.com/AuthServices/Acs‘ ?

相关内容