public BaseResponseModel SignUp(SignUpInputModel inputModel) { var vm = new AuthResponseModel(); // Validate request var validationState = new ValidationDictionary(); inputModel.ValidateRequest(validationState); var user = new User { Email = inputModel.Email, Role = Role.Member }; UserService.GenerateUserPassword(user, inputModel.Password); if (UserService.ValidateUser(user, validationState)) { UserService.CreateUser(user); // Authenticate to create token user = UserService.Authenticate(user.Email, inputModel.Password); _auth.DoAuth(user.Email, false); vm.Success = true; vm.Token = user.AuthToken.Token; vm.Expires = user.AuthToken.Expires; } vm.Errors = validationState.Errors; return vm; }
public BaseResponseModel SignIn(SignInInputModel inputModel) { var vm = new AuthResponseModel(); var user = UserService.Authenticate(inputModel.Email, inputModel.Password); if (user != null) { _auth.DoAuth(inputModel.Email, inputModel.RememberMe); vm.Success = true; vm.Token = user.AuthToken.Token; vm.Expires = user.AuthToken.Expires; } else { vm.Errors.Add("Invalid email or password"); LogService.CreateLog(new Log { Category = LogCategory.Security, IpAddress = GetClientIp(ControllerContext.Request), Level = LogLevel.Info, Message = "Authentication failed using email: " + inputModel.Email }); } return vm; }