RelayState parameter name case sensitivity in Federation SPS and WAOP
search cancel

RelayState parameter name case sensitivity in Federation SPS and WAOP

book

Article ID: 15014

calendar_today

Updated On:

Products

CA Single Sign On Secure Proxy Server (SiteMinder) CA Single Sign On SOA Security Manager (SiteMinder) CA Single Sign-On SITEMINDER CA Single Sign On Federation (SiteMinder)

Issue/Introduction

 

When running Federation Services, and having to configure manually the
relay state variable. Is RelayState case syntax-case sensitive? Could
it be written as relaystate or should it follow the case as
RelayState?

It seems when it's written as "relaystate", the parameter isn't
detected and thus ignored.

 

Resolution

 

Yes, the parameter is case sensitive and follows RFC 3986 (1)(2).

 

Additional Information

 

(1)


   
    6.2.2.  Syntax-Based 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).

(2)

    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.