Example #1
0
        public static void AddMsftJsonWebToken(
            this AuthenticationConfiguration configuration,
            string issuer, string audience,
            X509Certificate2 signingCert,
            AuthenticationOptions options,
            AuthenticationScheme scheme)
        {
            var validationParameters = new TokenValidationParameters()
            {
                AllowedAudience    = audience,
                SigningToken       = new X509SecurityToken(signingCert),
                ValidIssuer        = issuer,
                ValidateExpiration = true
            };

            var handler = new JWTSecurityTokenHandlerWrapper(validationParameters);

            configuration.AddMapping(new AuthenticationOptionMapping
            {
                TokenHandler = new SecurityTokenHandlerCollection {
                    handler
                },
                Options = options,
                Scheme  = scheme
            });
        }
        internal static JwtSecurityToken CreateJWT(ClaimsIdentity subject, string audience)
        {
            SecurityTokenDescriptor        descriptor = TokenHelper.CreateDescriptor(subject, audience, 60);
            JWTSecurityTokenHandlerWrapper handler    = new JWTSecurityTokenHandlerWrapper();

            return(handler.CreateToken(descriptor) as JwtSecurityToken);
        }
        public static void AddMsftJsonWebToken(
            this AuthenticationConfiguration configuration, 
            string issuer, string audience, 
            X509Certificate2 signingCert,
            AuthenticationOptions options,
            AuthenticationScheme scheme)
        {
            var validationParameters = new TokenValidationParameters()
            {
                AllowedAudience = audience,
                SigningToken = new X509SecurityToken(signingCert),
                ValidIssuer = issuer,
                ValidateExpiration = true
            };
            
            var handler = new JWTSecurityTokenHandlerWrapper(validationParameters);

            configuration.AddMapping(new AuthenticationOptionMapping
            {
                TokenHandler = new SecurityTokenHandlerCollection { handler },
                Options = options,
                Scheme = scheme
            });
        }
        internal static string SerializeJwt(JwtSecurityToken token)
        {
            JWTSecurityTokenHandlerWrapper handler = new JWTSecurityTokenHandlerWrapper(token.Audience);

            return(handler.WriteToken(token));
        }
        internal static ClaimsIdentity ValidateJwt(JwtSecurityToken token)
        {
            JWTSecurityTokenHandlerWrapper handler = new JWTSecurityTokenHandlerWrapper(token.Audience);

            return(handler.ValidateToken(token).Identities.FirstOrDefault <ClaimsIdentity>());
        }
        internal static JwtSecurityToken ParseJwt(string tokenString)
        {
            JWTSecurityTokenHandlerWrapper handler = new JWTSecurityTokenHandlerWrapper();

            return(handler.ReadToken(tokenString) as JwtSecurityToken);
        }