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.
Yes, the parameter is case sensitive and follows RFC 3986 (1)(2).
(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.