/// <summary>
        /// Requests an SWT Token using an input SAML token.
        /// </summary>
        /// <param name="token">The input SAML token.</param>
        /// <param name="scope">The requested scope.</param>
        /// <returns>The requested SWT token</returns>
        public SimpleWebToken Issue(SamlSecurityToken token, Uri scope)
        {
            var handler = new SamlSecurityTokenHandler();

            var sb = new StringBuilder(128);
            handler.WriteToken(new XmlTextWriter(new StringWriter(sb)), token);

            return IssueAssertion(sb.ToString(), "SAML", scope);
        }
 private void CreateSamlTokens( SecurityTokenDescriptor tokenDescriptor )
 {
     SamlSecurityTokenHandler samlTokenHandler = new SamlSecurityTokenHandler();
     SamlSecurityToken token = samlTokenHandler.CreateToken( tokenDescriptor ) as SamlSecurityToken;
     MemoryStream ms = new MemoryStream();
     XmlDictionaryWriter writer = XmlDictionaryWriter.CreateTextWriter( ms );
     samlTokenHandler.WriteToken( writer, token );
 }