Search code examples
attributesshibboleth

Shibboleth - How to read attributes?


I'm successfully logging into my Service Provider test page with Shibboleth. I then go to the /Shibboleth.sso/Session page and I see the following:

Attributes
affiliation: 1 value(s)
entitlement: 1 value(s)
eppn: 1 value(s)
persistent-id: 1 value(s)
unscoped-affiliation: 1 value(s)

My question is... how do I go about reading these values? I don't see them in the HTTP Request header in Fiddler.

My web application will be implemented in ASP.NET MVC 4 (C#).


Solution

  • You can read Shibboleth SAML attributes sent by the IdP using Request.ServerVariables object:

    string server = Request.ServerVariables["HTTP_FIRSTNAME"];
    

    See this if you want to list and print all the attributes in session.

    Remember to configure Shibboleth attribute-map.xml to handle the custom attributes your IdP may send:

    <Attribute name="firstname" id="firstname" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
        <AttributeDecoder xsi:type="StringAttributeDecoder"/>
    </Attribute>