Пример #1
0
 private static string GetTokenType(System.IdentityModel.Tokens.GenericXmlSecurityToken token)
 {
     using (System.Xml.XmlReader xmlReader = new System.Xml.XmlNodeReader(token.TokenXml))
     {
         xmlReader.MoveToContent();
         if (xmlReader.IsStartElement("BinarySecurityToken", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"))
         {
             return(xmlReader.GetAttribute("ValueType", null));
         }
     }
     return(string.Empty);
 }
Пример #2
0
        private static OAuth2AccessTokenRequest CreateAccessTokenRequestWithAssertion(System.IdentityModel.Tokens.GenericXmlSecurityToken token, string resource)
        {
            Utility.VerifyNonNullArgument("token", token);
            OAuth2AccessTokenRequest    oAuth2AccessTokenRequest    = new OAuth2AccessTokenRequest();
            JsonWebSecurityTokenHandler jsonWebSecurityTokenHandler = new JsonWebSecurityTokenHandler();

            System.Xml.XmlReader reader = new System.Xml.XmlNodeReader(token.TokenXml);
            string text;
            string jsonTokenString = jsonWebSecurityTokenHandler.GetJsonTokenString(reader, out text);

            oAuth2AccessTokenRequest.GrantType = OAuth2MessageFactory.GetTokenType(token);
            oAuth2AccessTokenRequest.Assertion = jsonTokenString;
            oAuth2AccessTokenRequest.Resource  = resource;
            return(oAuth2AccessTokenRequest);
        }