Letzte Nacht haben wir versucht, eine Website zu unserem neuen Hosting-Anbieter zu migrieren. Dieser neue Hosting-Anbieter verwendet einen SSL-Offloader und dies verursacht ein Problem mit einer Website, die SAML verwendet. Nach der Migration erhielten wir beim Versuch, uns mit SAML anzumelden, den folgenden Fehler. Im Fehler und in der Datei web.config habe ich den Namen des Kunden in „Kunde“ geändert. Wir denken, dass SAML eine HTTPS-Antwort erwartet, aber es erhält eine HTTP-Antwort. Gibt es eine Möglichkeit, dies über die Datei web.config zu beeinflussen? Ich habe auch einen Teil der Datei web.config mit den meisten Kundenkonfigurationen in Bezug auf SAML hinzugefügt. Wir haben es auch mit dem CookieHandler auf „False“ versucht, aber derselbe Fehler. Ich hoffe, ihr könnt uns helfen!
Web.Config-Konfiguration
<!-- 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>
FEHLER
Saml Customersaml Microsoft.IdentityServer.Service.Policy.PolicyServer.Engine.AssertionConsumerServiceUrlDoesNotMatchPolicyException: MSIS3200: Auf der Vertrauensstellung der vertrauenden Seite „microsoft:identityserver:Customersaml“ ist kein AssertionConsumerService konfiguriert, der eine Präfixübereinstimmung mit der AssertionConsumerService-URL darstellt.http://Customer.domain.com/AuthServices/Acs' durch die Anforderung angegeben. bei Microsoft.IdentityServer.Service.SamlProtocol.EndpointResolver.LookupAssertionConsumerServiceByUrl (Collection`1 AssertionConsumerServices, Uri requestedAssertionConsumerServiceUrl, String scopeIdentity) bei Microsoft.IdentityServer.Service.SamlProtocol.EndpointResolver.FindSamlResponseEndpointForAuthenticationRequest (Boolean artifactEnabled, AuthenticationRequest-Anforderung, ScopeDescription scopeDescription) bei Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.GetResponseEndpointFromRequest (SamlRequest-Anforderung, Boolean isUrlTranslationNeeded, ScopeDescription-Bereich) bei Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.Issue (HttpSamlRequestMessage httpSamlRequestMessage, SecurityTokenElement onBehalfOf, String sessionState, String relayState, String& newSamlSession, String& samlpAuthenticationProvider, Boolean isUrlTranslationNeeded, WrappedHttpListenerContext-Kontext, Boolean isKmsiRequested) bei Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestBearerToken(WrappedHttpListenerContext-Kontext, HttpSamlRequestMessage httpSamlRequest, SecurityTokenElement onBehalfOf, String relyingPartyIdentifier, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired, String& samlpSessionState, String& samlpAuthenticationProvider) bei Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSerializedToken(HttpSamlRequestMessage httpSamlRequest, WrappedHttpListenerContext-Kontext, String relyingPartyIdentifier, SecurityTokenElement signOnTokenElement, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired) bei Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSecurityToken (SamlSignInContext-Kontext, SecurityToken securityToken, SecurityToken deviceSecurityToken) bei Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process (ProtocolContext-Kontext) bei Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest (ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler) bei Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext (WrappedHttpListenerContext-Kontext)
Antwort1
Überprüfen Sie das Vertrauen der vertrauenden Seite auf AD FS und sehen Sie sich die Endpunkte an. Gibt es einen Endpunkt für den Pfad 'http://Customer.domain.com/AuthServices/Acs' ?