ADFS 2.0 Not handling 'Extension' tag in SAML AuthnRequest - Throwing Exception MSIS7015 -
we have adfs 2.0 hotfix 2 rollup installed , working identity provider several external relying parties using saml authentication. week attempted add new relying party, however, when client presents authentication request new party, adfs returns error page reference number , not prompt client credentials.
i checked server adfs 2.0 event log reference number, not present (searching correlation id column). enabled adfs trace log, re-executed authentication attempt , message presented:
failed process web request because request not valid. cannot protocol message http query. following errors occurred when trying parse incoming http request: microsoft.identityserver.protocols.saml.httpsamlmessageexception: msis7015: request not contain expected protocol message or incorrect protocol parameters found according http saml protocol bindings. @ microsoft.identityserver.web.httpsamlmessagefactory.createmessage(httpcontext httpcontext) @ microsoft.identityserver.web.federationpassivecontext.ensurecurrent(httpcontext context)
as message indicates request not formed, went ahead , ran request through xmlsectool , validated against saml protocol xsd (http://docs.oasis-open.org/security/saml/v2.0/saml-schema-protocol-2.0.xsd) , came clean:
c:\users\ebennett\desktop\xmlsectool-1.2.0>xmlsectool.bat --validateschema --infile metaauth_kld_request.xml --schemadirectory . --verbose info xmlsectool - reading xml document file 'metaauth_kld_request.xml' debug xmlsectool - building dom parser debug xmlsectool - parsing xml input stream info xmlsectool - xml document parsed , well-formed. debug xmlsectool - building w3 xml schema file/directory 'c:\users\ebennett\desktop\xmlsectool-1.2.0\.' debug xmlsectool - schema validating xml document info xmlsectool - xml document schema valid
so, i'm thinking adfs isn't playing full compliance saml specification. verify, manually examined submitted authnrequest, , discovered our vendor making use of 'extensions' element embed custom properties (which valid, according saml specification) (note: "ns33" below correctly namspaces "urn:oasis:names:tc:saml:2.0:protocol" elsewhere in request)
<ns33:extensions> <vendor_ns:fedid xmlns:vendor_ns="urn:vendor.name.here" name="fedid" value="http://idmfederation.vendorname.org"/> </ns33:extensions>
if remove previous element authnrequest , resubmit adfs, goes swimmingly. and, in fact, can leave 'extensions' container , edit out vendor namespaced element, , adfs succeeds.
now, guess have 3 questions:
- why reference number not logged adfs log? have helped debugging efforts
- is known issue adfs's saml handler cannot handle custom elements defined within extensions element, , if so, there way add support (or @ least not crash while handling it)? vendor has offered change saml authnrequest generated omit tag, said 'may take time'-- , know means...
- does think installing adfs hotfix rollup 3 address situation? didn't see in doc indicate affirmative.
thanks feedback.
Comments
Post a Comment