| | |
| | | new SymmetricSecurityKey(Encoding.UTF8.GetBytes(SecretKey)); |
| | | |
| | | // 签发 Token |
| | | public static string GenerateToken(string userId, string userName, string HCampanyName) |
| | | public static string GenerateToken(string userId, string userName, string HCampanyName= "zjzyms") |
| | | { |
| | | var claims = new[] |
| | | { |
| | |
| | | } |
| | | |
| | | // 验证 Token 并返回 ClaimsPrincipal |
| | | public static ClaimsPrincipal ValidateToken(string token, string HCampanyName) |
| | | public static ClaimsPrincipal ValidateToken(string token, string HCampanyName= "zjzyms") |
| | | { |
| | | var handler = new JwtSecurityTokenHandler(); |
| | | |
| | |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | // 刷新Token |
| | | public static string refreshToken(string token) |
| | | { |
| | | var jwt = new JwtSecurityTokenHandler().ReadJwtToken(token); |
| | | var czybm = jwt.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value; |
| | | var zymm = jwt.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name)?.Value; |
| | | // 通过上一个token的值刷新token |
| | | return GenerateToken(czybm, zymm); |
| | | } |
| | | |
| | | // 判断Token 是否即将过期 |
| | | public static bool TokenAboutToExpire(string token) |
| | | { |
| | | var jwt = new JwtSecurityTokenHandler().ReadJwtToken(token); |
| | | var validTo = jwt.ValidTo; |
| | | |
| | | if(validTo.Subtract(DateTime.UtcNow).TotalMinutes < 5) |
| | | { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | } |
| | | } |