Supporto a SAML 2.0 Protocol tramite WIF(Windows Identity Foundation)


Da poco è disponibile la prima versione BETA (CTP) di un’estensione a WIF per il supporto a SAML 2.0 Protocol. Molti di voi diranno… FINALMENTE Smile. Come scrissi in questo mio vecchio POST del 2009 Microsoft da anni sta lavorando all’integrazione del protocollo SAML 2.0… ADFS 2.0 in primis!

Tramite questa estensione (l’assembly: Microsoft.IdentityModel.Protocols.dll) sarà infatti possibile implementare applicazioni .NET che colloquiano con diversi IDP come ad esempio ADFS 2.0 o altri anche tramite  il protocollo SAML 2.0 secondo il profilo SP-Lite. Queste le caratteristiche principali:

  • Web SSO (Sign-in e Sign-off)
  • Supporto a SL-Lite SP applications
  • Redirect, POST e Artifact bindings

Una volta scaricata la CTP consiglio di iniziare l’analisi dalla cartella \Quick Start che contiene una semplice solution minimale con 3 progetti:

  • ServiceProvider: Un’ applicazione ASP.NET SAML Service Provider. Ovvero un’applicazione Web “protetta” dall’ IDP tramite il protocollo SAML 2.0.
  • IdentityProvider: Un IDP SAML 2.0 P.
  • Utilities: Un insieme di utilities per il dump dei token SAML e l’uso dei certificati x.509 v3

che dimostra il meccanismo di redirect/sign-in e sign-out oltre alla richiesta all’IDP per cifrare I SAML assertions.

Una volta presa confidenza con questo primo esempio è possibile cambiare l’IDP della soluzione da custom ad ADFS 2.0 seguendo la documentazione fornita in questa CTP.

 

Applicazione WEB ASP.NET che “parla” SAML 2.0 Protocol

L’esempio presente nella CTP in \Quick Start mostra l’autenticazione tramite un SAML 2.0 IDP con la possibilità di fare Logout all’interno della propria applicazione asp.net.

image

mentre nella parte inferiore trovate il dump dei SAML Assertions:

image

… e per I più curiosi è disponibile in chiaro l’intero SAML2.0 Assertion presente nel token:

image

Per maggiori informazioni potete leggere il post del team di prodotto, di Don Schmidt  e di Vittorio.

--Mario

Comments (1)

  1. Fabio Cozzolino says:

    Finalmente! 🙂

Skip to main content