public ActionResult Login([FromBody] LoginRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } User user = userService.GetByUsername(request.Username); if (!userService.IsPasswordValid(request.Password, user.Password)) { Unauthorized(); } // var role = userRepository.GetUserRole(request.UserName); var roles = new List <string> { "ROLE_USER", "ROLE_ADMIN", }; var jwtResult = jwtAuthManager.GenerateTokens(user, roles); logger.LogInformation( $"User [{request.Username}] logged in the system."); return(Ok(jwtResult)); }
public authReponse Authenticate(AuthRequest model) { string sql = "getUserByUnameAndPassWord"; DynamicParameters parameter = new DynamicParameters(); parameter.Add("@Username", model.Username, DbType.String, ParameterDirection.Input); parameter.Add("@Password", Helper.ToMD5(model.Password), DbType.String, ParameterDirection.Input); User user = _query.Query <User>(1, sql, parameter).FirstOrDefault(); if (user == null) { return(null); } var tokenResult = JwtAuthManager.GenerateTokens(model, user.access); return(new authReponse(tokenResult.AccessToken.ToString(), user)); }
public async Task <ActionResult <JwtAuthResult> > GetToken([FromBody] LoginRequest rq) { if (!ModelState.IsValid) { return(BadRequest()); } var user = await _userService.GetValidUserAsync(rq.Username, rq.Password); if (user == null) { return(BadRequest(new { message = "Username or password is incorrect" })); } if (user.LockoutEnd != null) { if (user.LockoutEnd < DateTime.UtcNow) { await _userService.UnlockUserAsync(user.Id); } else { return(BadRequest(new { message = "User locked to " + user.LockoutEnd })); } } string urlImage = ""; if (user.UrlImage != null) { urlImage = user.UrlImage; } var claims = new[] { new Claim("id", user.Id.ToString()), new Claim("username", user.Username.ToString()), new Claim("role", user.Role.ToString()), new Claim("avatar", urlImage) }; var jwtResult = _jwtAuthManager.GenerateTokens(rq.Username, claims); return(jwtResult); }
public ProfileIntegrationTests() { var webHostBuilder = new WebHostBuilder() .UseStartup <ProfileTestsStartup>() .ConfigureTestServices(services => { var descriptor = services.SingleOrDefault(d => d.ServiceType == typeof(IProfileService)); services.Remove(descriptor); services.AddScoped <IProfileService, FakeProfileService>(); }); server = new TestServer(webHostBuilder); var claims = new[] { new Claim(ClaimTypes.Name, "Test"), new Claim(ClaimTypes.NameIdentifier, "1"), }; accessTokenSample = _jwtAuthManager.GenerateTokens("Test", claims, DateTime.Now).AccessToken; _httpClient = server.CreateClient(); }