| | |
| | | public static string IssueJwt(TokenModelJwt tokenModel) |
| | | { |
| | | string exp = $"{new DateTimeOffset(DateTime.Now.AddMinutes(/*tokenModel.UserId == 1 ? 43200 : */AppSettings.app("ExpMinutes").ObjToInt())).ToUnixTimeSeconds()}"; |
| | | var claims = new List<Claim> |
| | | List<Claim> claims = new List<Claim> |
| | | { |
| | | new Claim(JwtRegisteredClaimNames.Jti,tokenModel.UserId.ToString()), |
| | | new Claim(JwtRegisteredClaimNames.Iat, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), |
| | | new Claim(JwtRegisteredClaimNames.Nbf,$"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}") , |
| | | //JWTè¿ææ¶é´ |
| | | //é»è®¤è®¾ç½®jwtè¿ææ¶é´120åé |
| | | new Claim (JwtRegisteredClaimNames.Exp,exp), |
| | | new Claim(JwtRegisteredClaimNames.Iss,AppSecret.Issuer), |
| | | new Claim(JwtRegisteredClaimNames.Aud,AppSecret.Audience), |
| | | new Claim(ClaimTypes.Role, tokenModel.RoleId.ToString()) |
| | | new Claim(JwtRegisteredClaimNames.Jti, tokenModel.UserId.ToString()), |
| | | new Claim(JwtRegisteredClaimNames.Iat, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), |
| | | new Claim(JwtRegisteredClaimNames.Nbf, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}") , |
| | | //JWTè¿ææ¶é´ |
| | | //é»è®¤è®¾ç½®jwtè¿ææ¶é´120åé |
| | | new Claim (JwtRegisteredClaimNames.Exp, exp), |
| | | new Claim(JwtRegisteredClaimNames.Iss, AppSecret.Issuer), |
| | | new Claim(JwtRegisteredClaimNames.Aud, AppSecret.Audience), |
| | | new Claim(ClaimTypes.Role, tokenModel.RoleId.ToString()), |
| | | new Claim(ClaimTypes.Name, tokenModel.UserName), |
| | | new Claim(nameof(TokenModelJwt.TenantId), tokenModel.TenantId.ToString()) |
| | | }; |
| | | |
| | | // å¯ä»¥å°ä¸ä¸ªç¨æ·çå¤ä¸ªè§è²å
¨é¨èµäºï¼ |
| | | // ä½è
ï¼DX æä¾ææ¯æ¯æï¼ |
| | | |
| | | //ç§é¥16ä½ |
| | | var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(AppSecret.JWT)); |
| | | var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); |
| | |
| | | /// <summary> |
| | | /// èè½ |
| | | /// </summary> |
| | | public string Work { get; set; } |
| | | public string UserName { get; set; } |
| | | |
| | | public long TenantId { get; set; } |
| | | |
| | | } |
| | | } |