public IActionResult Login([FromBody] LoginFormUser loginFormUser) { User userReturned = _dataAccess.LoginUser(loginFormUser); if (userReturned == null) { return(new UnauthorizedResult()); } if (VerifyPassword(userReturned.Hash, userReturned.Salt, loginFormUser.Password)) { string location = userReturned.Id.ToString(); var json = new { jwt = GenerateToken(loginFormUser.Email) }; return(new ObjectResult(json)); } return(new UnauthorizedResult()); }
public async Task <IActionResult> Register([FromBody] LoginFormUser loginFormUser) { try { User user = new User(); user.Email = loginFormUser.Email; user.Salt = GetSalt(); user.Hash = GetHash(loginFormUser.Password + user.Salt); await _dataAccess.CreateUser(user); string location = user.Id.ToString(); var json = new { jwt = GenerateToken(loginFormUser.Email) }; return(Created(location, json)); } catch (MongoWriteException e) { return(new BadRequestObjectResult("Email was taken")); } }