public string GetToken(CurrentUserModel userModel) { //string jtiCustom = Guid.NewGuid().ToString();//用来标识 Token var claims = new[] { new Claim(ClaimTypes.Name, userModel.Name), new Claim("EMail", userModel.EMail), new Claim("Account", userModel.Account), new Claim("Age", userModel.Age.ToString()), new Claim("Id", userModel.Id.ToString()), new Claim("Mobile", userModel.Mobile), new Claim(ClaimTypes.Role, userModel.Role), //new Claim("Role", userModel.Role),//这个不能角色授权 new Claim("Sex", userModel.Sex.ToString()) //各种信息拼装 }; string keyDir = Directory.GetCurrentDirectory(); if (RSAHelper.TryGetKeyParameters(keyDir, true, out RSAParameters keyParams) == false) { keyParams = RSAHelper.GenerateAndSaveKey(keyDir); } var credentials = new SigningCredentials(new RsaSecurityKey(keyParams), SecurityAlgorithms.RsaSha256Signature); var token = new JwtSecurityToken( issuer: this._JWTTokenOptions.Issuer, audience: this._JWTTokenOptions.Audience, claims: claims, expires: DateTime.Now.AddMinutes(60),//5分钟有效期 signingCredentials: credentials); var handler = new JwtSecurityTokenHandler(); string tokenString = handler.WriteToken(token); return(tokenString); }
public string GetKey() { string keyDir = Directory.GetCurrentDirectory(); if (RSAHelper.TryGetKeyParameters(keyDir, false, out RSAParameters keyParams) == false) { keyParams = RSAHelper.GenerateAndSaveKey(keyDir, false); } return(JsonConvert.SerializeObject(keyParams)); }