Skip to content

Version 5.1.0 is not backwards compatibility with Microsoft ADFS #692

@peterfarrell

Description

@peterfarrell

Upgrading from 5.0.0 to 5.1.0 without configuration changes to PySAML breaks connectivity using Microsoft ADFS. We are unsure what was added in 5.1.0 that causes this backwards compatibility issue other than it's related to samlp:Extensions.

Code Version

5.1.0 and 5.0.0

Expected Behavior

That 5.1.0 is backwards compatible with 5.0.0 or otherwise document an upgrade strategy.

Current Behavior

When authenticating against MS ADFS using PySAML2 5.1.0, this the error that is logged in ADFS and the authentication fails. Downgrading to PySAML2 5.0.0 fixes the issue.

Exception details:
System.Xml.XmlException: MSIS0009: The <samlp:Extensions> element was encountered. To accept extensions, you must extend the SamlProtocolSerializer.
  at Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadExtensions(XmlReader reader, SamlMessage message)
   at Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadCommonElements(XmlReader reader, SamlMessage message)
   at Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadAuthnRequest(XmlReader reader)
   at Microsoft.IdentityServer.Protocols.Saml.HttpSamlBindingSerializer.ReadProtocolMessage(String encodedSamlMessage)
   at Microsoft.IdentityServer.Protocols.Saml.HttpSamlBindingSerializer.CreateFromNameValueCollection(Uri baseUrl, NameValueCollection collection)
   at Microsoft.IdentityServer.Protocols.Saml.HttpRedirectSamlBindingSerializer.ReadMessage(Uri requestUrl, NameValueCollection form)
   at Microsoft.IdentityServer.Web.Protocols.Saml.HttpSamlMessageFactory.CreateMessage(WrappedHttpListenerRequest httpRequest)
   at Microsoft.IdentityServer.Web.Protocols.Saml.SamlContextFactory.CreateProtocolContextFromRequest(WrappedHttpListenerRequest request, ProtocolContext& protocolContext)
   at Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.CreateProtocolContext(WrappedHttpListenerRequest request)
   at Microsoft.IdentityServer.Web.PassiveProtocolListener.GetProtocolHandler(WrappedHttpListenerRequest request, ProtocolContext& protocolContext, PassiveProtocolHandler& protocolHandler)
   at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)

Possible Solution

Document what has changed between versions 5.0.0 and 5.1.0 that causes this.

Steps to Reproduce

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions