Saltar al contenido

Trabajar con SAML 2.0 en C# .NET 4.5

No dudes en divulgar nuestra web y códigos en tus redes sociales, apóyanos para hacer crecer esta comunidad.

Solución:

.NET 4.5 tiene WIF (Windows Identity Foundation) integrado. Esto ahora es compatible con SAML 2.0. Para usar SAML 2.0, solo use .NET 4.5. El nombre de la clase es Saml2XXXX (donde XXXX es el token, aserción, serializador, etc.) Aquí hay un enlace a la aserción SAML 2.0: http://msdn.microsoft.com/en-us/library/microsoft.identitymodel.tokens.saml2. saml2asertion.aspx

Esto creará un objeto de afirmación SAML 2.0. Para obtener el XML, este es el código que usé:

using System.Xml;
using System.IdentityModel.Tokens;

namespace YOUR.SPACE

    public class Saml2Serializer : Saml2SecurityTokenHandler
    
        public Saml2Serializer()
        
            Configuration = new SecurityTokenHandlerConfiguration()
                

                ;
        

        public void WriteSaml2Assertion(XmlWriter writer, Saml2Assertion data)
        
            base.WriteAssertion(writer, data);
        
    

Esto serializará su objeto de aserción en XML. Aquí es donde me encontré con problemas. El XML que se creará NO contiene el espacio de nombres saml (p. ej. ). No pude encontrar una solución para esto, así que un Replace("<", " había que usar.

Eso es porque Saml2Assertion se refiere al token, no al protocolo.

El token SAML utilizado en WIF es un token 1.0.

No hay SAML 2 soporte de protocolo en la red.

Hay un CTP de WIF para SAML 2, pero hace años que no se actualiza.

Te mostramos comentarios y puntuaciones

Agradecemos que quieras añadir valor a nuestro contenido informacional asistiendo con tu experiencia en las aclaraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *