public async Task <ResponseLogin> Login(RequestLogin user) { var existingUser = await userRepository.GetUser(user.Email); if (existingUser != null) { if (existingUser.Password == Crypto.HashSha256(user.Password)) { string generatedToken = Convert.ToBase64String(Guid.NewGuid().ToByteArray()); var token = new UserToken { LastAccessed = DateTime.UtcNow, Username = user.Email, Token = generatedToken }; await userTokenRepository.CreateSync(token); return(new ResponseLogin { UserDetails = existingUser, UserToken = token }); } } throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("Invalid username or password."), ReasonPhrase = "Invalid username or password." }); }