public async Task <IActionResult> Login([FromBody] LoginModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await _userManager.FindByNameAsync(model.Username); if (user == null) { return(NotFound()); } var result = await _signInManager.PasswordSignInAsync(model.Username, model.Password, false, false); if (result.Succeeded) { return(Ok(await _tokenProvider.GenerateJwtToken("user", user))); } return(Unauthorized()); }
public void CreateSession(User user) { string token = TokenProvider.GenerateJwtToken(user); using (var unitOfWork = new UnitOfWork(HmContext)) { var session = new Session { User = user, Token = token, UserId = user.UserId }; unitOfWork.Session.Add(session); var users = unitOfWork.Users.Get(session.UserId); users.Token = session.Token; unitOfWork.Update(users); unitOfWork.Complete(); } }