Exemplo n.º 1
0
        public static ClaimsPrincipal GetClaimsPrincipal(string token)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var jwtToken     = tokenHandler.ReadToken(token) as JwtSecurityToken;

            if (jwtToken == null)
            {
                return(null);
            }

            var symmetricKey         = Convert.FromBase64String(Secret);
            var validationParameters = new TokenValidationParameters()
            {
                ClockSkew             = TimeSpan.Zero,
                RequireExpirationTime = true,
                ValidateIssuer        = false,
                ValidateAudience      = false,
                IssuerSigningKey      = RsaSecurityKeyManager.getInstance()
            };

            try {
                return(tokenHandler.ValidateToken(token, validationParameters, out SecurityToken securityToken));
            } catch (Exception e) {
                return(null);
            }
        }
Exemplo n.º 2
0
        public static string GenerateToken(Claim[] claims, int timeout)
        {
            var symmetricKey = Convert.FromBase64String(Secret);
            var tokenHandler = new JwtSecurityTokenHandler();

            var now             = DateTime.UtcNow;
            var tokenDescriptor = new SecurityTokenDescriptor {
                Subject            = new ClaimsIdentity(claims),
                Expires            = now.AddSeconds(timeout),
                SigningCredentials = new SigningCredentials(RsaSecurityKeyManager.getInstance(), SecurityAlgorithms.RsaSha256)
            };

            var stoken = tokenHandler.CreateToken(tokenDescriptor);
            var token  = tokenHandler.WriteToken(stoken);

            return(token);
        }