public LoginController(IUserInfoAppService userInfoAppService, ResponseData responseData, AudienceConfiguration audienceConfiguration, IStringLocalizer <LoginController> stringLocalizer, ILogger <LoginController> logger) : base(logger) { _userInfoAppService = userInfoAppService; _responseData = responseData; _audienceConfiguration = audienceConfiguration; _stringLocalizer = stringLocalizer; }
public LoginController(IRedisCacheManager redisCacheManager, IUserInfoService userInfoService, ResponseData responseData, AudienceConfiguration audienceConfiguration, IStringLocalizer <LoginController> stringLocalizer) { _userInfoService = userInfoService; _responseData = responseData; _audienceConfiguration = audienceConfiguration; _stringLocalizer = stringLocalizer; _redisCacheManager = redisCacheManager; }
public static string BuildJwtToken(Claim[] claims, AudienceConfiguration audienceConfiguration) { var keyByteArray = Encoding.ASCII.GetBytes(audienceConfiguration.Secret); var signingKey = new SymmetricSecurityKey(keyByteArray); var signingCredentials = new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256); var now = DateTime.Now; // 实例化JwtSecurityToken var jwt = new JwtSecurityToken( issuer: audienceConfiguration.Issuer, audience: audienceConfiguration.Audience, claims: claims, notBefore: now, expires: now.AddSeconds(audienceConfiguration.Expiration), signingCredentials: signingCredentials ); // 生成 Token var responseJson = new JwtSecurityTokenHandler().WriteToken(jwt); return(responseJson); }