13.07.2015 Views

Liberty ID-FF Bindings and Profiles Specification - Liberty Alliance

Liberty ID-FF Bindings and Profiles Specification - Liberty Alliance

Liberty ID-FF Bindings and Profiles Specification - Liberty Alliance

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Liberty</strong> <strong>Alliance</strong> Project:<strong>Liberty</strong> <strong>ID</strong>-<strong>FF</strong> <strong>Bindings</strong> <strong>and</strong> <strong>Profiles</strong> <strong>Specification</strong>Version: 1.2-errata-v2.0400401402403404405406407408409Additionally, to support the optional identity provider introduction profile, either the user agent or a proxy mustsupport session cookies (see [RFC2965]). The issue of using persistent cookies or session-length cookies is discussedin [<strong>Liberty</strong>ImplGuide].3.1.2. Formatting <strong>and</strong> Encoding of Protocol MessagesAll protocol messages that are indicated by the profile as being communicated in the component of the URLMUST adhere to the formatting <strong>and</strong> encoding rules in Section 3.1.2.1.3.1.2.1. Encoding URL-embedded MessagesURL-embedded messages are encoded using the application/x-www-form-urlencoded MIME type as if theywere generated from HTML forms with the GET method as defined in [HTML4].The original XML protocol message MUST be encoded as follows:410411412413414415416417418419420421422423424425426427428429430431432433• The component parameter value MUST be the value of the XML protocol message element or attributevalue.• The value of the component parameter MUST be a space-delimited list when the original messageelement has multiple values.• Some of the referenced protocol message elements <strong>and</strong> attributes are optional. If an optional element or attributedoes not appear in the original XML protocol message, then the corresponding data item MUST be omitted fromthe URL encoded message.• URLs appearing in the URL-encoded message SHOULD NOT exceed 80 bytes in length (including %-escapingoverhead). Likewise, the data value SHOULD NOT exceed 80 bytes in length.• The URL-encoding of status codes in the responses RegisterNameIdentifierResponse <strong>and</strong>LogoutResponse may be taken from several sources. The top level codes MUST be from SAML.Other codes (including <strong>Liberty</strong>-defined values) MAY be used at the second or lower levels. The URL parametervalue should be interpreted as a QName with the "lib", "saml", <strong>and</strong> "samlp" namespaces pre-defined to theirrespective namespace URIs. Query parameters with the name "xmlns:prefix" can be used to map additionalnamespace prefixes for the purpose of QName resolution, so long as the xmlns:prefix URL parameter appearsbefore the URL parameter containing the QName which needs the prefix definition.As elements may be nested hierarchically (see [[SAMLCore11]), there may existmultiple values for in the response messages. These multiple values MUST be encoded byproducing a URL-encoded space-separated string as the value of this query parameter. An example is as follows:Value=samlp%3AResponder%20lib%3AFederationD oesNotExist• Certain XML protocol messages support extensibility via an element. Messages that are to beURL-encoded MUST adhere to the following restrictions when including extension content:434435436437438• Only attribute values <strong>and</strong> elements with simple content models are permitted.• All attributes <strong>and</strong> elements MUST have an empty namespace <strong>and</strong> MUST have unique local names.• Each value included SHOULD NOT exceed 80 bytes in length (including encoding overhead).XML digital signatures are not directly URL-encoded due to space concerns. If the <strong>Liberty</strong> XML protocol message issigned with an XML signature, the encoded URL form of the message MUST be signed as follows:<strong>Liberty</strong> <strong>Alliance</strong> Project13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!