コード例 #1
0
        public List <string> IsTokenValid(string token, TokenKeyBuilder keyBuilder)
        {
            var key         = keyBuilder.BuildKey();
            var handler     = new JwtSecurityTokenHandler();
            var validations = new TokenValidationParameters {
                ValidateIssuerSigningKey = true,
                IssuerSigningKey         = key,
                ValidateIssuer           = false,
                ValidateAudience         = false
            };

            return(TokenDecodeExceptionHandler.HandleJwtDecode(() => {
                handler.ValidateToken(token, validations, out var securityToken);
            }));
        }
コード例 #2
0
        public string GiveToken(DateTime expirationDate, TokenKeyBuilder keyBuilder, List <Claim> claims)
        {
            var securityKey     = keyBuilder.BuildKey();
            var creds           = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
            var tokenDescriptor = new SecurityTokenDescriptor {
                Expires            = expirationDate,
                NotBefore          = DateTime.Now,
                IssuedAt           = DateTime.Now,
                SigningCredentials = creds,
                Subject            = new ClaimsIdentity(claims)
            };
            var tokenHandler = new JwtSecurityTokenHandler();
            var token        = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }