public WeatherForecastController(GenericJwtToken genericJwtToken, TestService testService, ILogger <WeatherForecastController> _logger) { this.genericJwtToken = genericJwtToken; this.testService = testService; this._logger = _logger; }
public GenericJwtToken Login([FromBody] LoginRequest loginRequest) { var found = mongoContext.Collection <User>() .AsQueryable() .Where(u => u._id == loginRequest.Username && u.PasswordHash == loginRequest.PasswordHash) .FirstOrDefault(); if (found == null) { return(new GenericJwtToken() { Valid = false, Roles = new List <RoleEnum>() }); } var token = new GenericJwtToken() { Id = found._id, Roles = found.Roles, Valid = true, Name = found.Name, ExpiringDate = DateTime.Now.AddDays(authOptions.TokenExpiringDays) }; // token.Token = jwtObjectEncoder.Encode(token); token = Response.WriteJWTCookie(token); return(token); }
public UserController( JwtObjectEncoder jwtObjectEncoder, GenericJwtToken genericJwtToken, AuthOptions authOptions, MongoContext mongoContext ) { this.jwtObjectEncoder = jwtObjectEncoder; this.genericJwtToken = genericJwtToken; this.authOptions = authOptions; this.mongoContext = mongoContext; }
public IActionResult Login([FromBody] LoginUser input) { //throw new Exception("我是一个异常"); //从数据库验证用户名,密码 //验证通过 否则 返回Unauthorized var jwtToken = new GenericJwtToken { Uid = 1, UserName = input.Username, Expires = DateTime.Now.AddHours(2) }; //返回token和过期时间 return(ApiSuccess(new { jwtToken = AuthJwtEncoder.Encode(jwtToken), jwtToken.Expires })); }
public static GenericJwtToken WriteJWTCookie(this HttpResponse response, GenericJwtToken token) { token.Valid = true; var jwtEncoder = Startup.ApplicationContainer.Resolve <JwtObjectEncoder>(); token.Token = jwtEncoder.Encode(token); AuthOptions authOptions = Startup.ApplicationContainer.Resolve <AuthOptions>(); response.Cookies.Append(authOptions.JWTCookieKey, token.Token, new CookieOptions() { HttpOnly = true, Expires = DateTime.Now.AddDays(authOptions.TokenExpiringDays) }); return(token); }