Ejemplo n.º 1
0
        private static string CreateSamlResponseXml(Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler tokenHandler, Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityToken token)
        {
            var buffer = new StringBuilder();

            using (var stringWriter = new StringWriter(buffer))
                using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings()))
                {
                    xmlWriter.WriteStartElement("Response", "urn:oasis:names:tc:SAML:2.0:protocol");
                    xmlWriter.WriteAttributeString("IssueInstant", DateTime.UtcNow.ToString("s"));
                    xmlWriter.WriteAttributeString("ID", "_" + Guid.NewGuid());
                    xmlWriter.WriteAttributeString("Version", "2.0");

                    xmlWriter.WriteStartElement("Status");
                    xmlWriter.WriteStartElement("StatusCode");
                    xmlWriter.WriteAttributeString("Value", "urn:oasis:names:tc:SAML:2.0:status:Success");
                    xmlWriter.WriteEndElement();
                    xmlWriter.WriteEndElement();

                    tokenHandler.WriteToken(xmlWriter, token);

                    xmlWriter.WriteEndElement();
                }

            return(buffer.ToString());
        }
Ejemplo n.º 2
0
        private string CreateSamlResponse()
        {
            var claims       = CreateClaims();
            var tokenHandler = new Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler();;
            var token        = CreateToken(claims, tokenHandler);

            return(CreateSamlResponseXml(tokenHandler, token));
        }
Ejemplo n.º 3
0
        private static Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityToken CreateToken(IEnumerable <Claim> claims,
                                                                                           Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler tokenHandler)
        {
            var descriptor = CreateTokenDescriptor(claims);
            var token      = tokenHandler.CreateToken(descriptor) as Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityToken;

            AddAuthenticationStatement(token);
            AddConfirmationData(token);

            return(token);
        }