2013-08-29 16 views
7

Accedendo correttamente alla pagina di test del provider di servizi con Shibboleth. Ho poi andare alla pagina /Shibboleth.sso/Session e vedo quanto segue:Shibboleth - Come leggere gli attributi?

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

La mia domanda è ... come posso fare per la lettura di questi valori? Non li vedo nell'intestazione della richiesta HTTP in Fiddler.

La mia applicazione Web verrà implementata in ASP.NET MVC 4 (C#).

risposta

7

Si può leggere di Shibboleth SAML attributi inviati dal IdP utilizzando Request.ServerVariables oggetto:

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

Vedi this se si desidera elencare e stampare tutti gli attributi di sessione.

Ricordare per configurare Shibboleth attributo-map.xml per gestire gli attributi personalizzati tuo IdP può inviare:

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

è anche possibile impostare showAttributeValues al true nel gestore di sessione in shibboleth2.xml. Nota, questo non è raccomandato in un ambiente di produzione. Quindi riavviare il servizio shibboleth; la sezione Attributi della pagina Sessione includerà i valori attuali.

<!-- Session diagnostic service. --> 
<Handler type="Session" Location="/Session" showAttributeValues="true"/> 
1

dal momento che lei ha citato violinista, io vado avanti e aggiungi (anni dopo la questione) che ci sia davvero un bel browser Firefox add-on chiamato "SAML tracciante". (basta cercare "saml tracer" e troverai la pagina dei componenti aggiuntivi di mozilla per esso.) una volta installato in firefox, puoi aprire la sua finestra e mostrerà tutte le richieste e le risposte http. se qualcosa ha saml in esso, lo indicherà con un tag "SAML" accanto all'URL; quindi puoi fare clic su quell'URL, scegliere la scheda "SAML" e leggere tutto il saml che è stato inviato tra idp o sp e il tuo browser. è un ottimo strumento per la risoluzione dei problemi in linea, quindi non è necessario fare confusione con nulla su sp e/o idp (o persino avere accesso ad essi).