RelayState Parameter Name is Case Sensitive

Document ID : KB000015014
Last Modified Date : 14/02/2018
Show Technical Document Details
Question:

I'm running Federation, and I have to configure manually the relay state variable. Is RelayState case syntax case sensitive as I would write it relaystate or should I respect exactly the case ?

I've tried to set it as "relaystate" and the parameter isn't detected and thus ignored.

 

Answer:

Yes, the parameter is case sensitive and follows RFC 3986

 

RelayState

 

Indicates the URL of the target resource at the Service Provider. The RelayState value should be URL-encoded.  By including this query parameter, it tells the IdP to redirect the user the appropriate resource at the Service Provider. This query parameter can be used in place of specifying a target URL when configuring single sign-on. The RelayState query parameter name is case-sensitive, and the value must be URL-encoded

 

6.2.2.1.  Case Normalization

 

   For all URIs, the hexadecimal digits within a percent-encoding

   triplet (e.g., "%3a" versus "%3A") are case-insensitive and therefore

   should be normalized to use uppercase letters for the digits A-F.

 

   When a URI uses components of the generic syntax, the component

   syntax equivalence rules always apply; namely, that the scheme and

   host are case-insensitive and therefore should be normalized to

   lowercase.  For example, the URI <HTTP://www.EXAMPLE.com/> is

   equivalent to <http://www.example.com/>.  The other generic syntax

   components are assumed to be case-sensitive unless specifically

   defined otherwise by the scheme (see Section 6.2.3).

 

   rfc3986