public string Register(RegisterInputType registerInput) { string errorMessage = ResigstrationValidations(registerInput); if (!string.IsNullOrEmpty(errorMessage)) { return(errorMessage); } var newUser = new User { EmailAddress = registerInput.EmailAddress, FirstName = registerInput.FirstName, LastName = registerInput.LastName, Password = PasswordHash(registerInput.ConfirmPassword) }; _authContext.User.Add(newUser); _authContext.SaveChanges(); // default role on registration var newUserRoles = new UserRoles { Name = "admin", UserId = newUser.UserId }; _authContext.UserRoles.Add(newUserRoles); _authContext.SaveChanges(); return("Registration success"); }
private string ResigstrationValidations(RegisterInputType registerInput) { if (string.IsNullOrEmpty(registerInput.EmailAddress)) { return("Eamil can't be empty"); } if (string.IsNullOrEmpty(registerInput.Password) || string.IsNullOrEmpty(registerInput.ConfirmPassword)) { return("Password Or ConfirmPasswor Can't be empty"); } if (registerInput.Password != registerInput.ConfirmPassword) { return("Invalid confirm password"); } string emailRules = @"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"; if (!Regex.IsMatch(registerInput.EmailAddress, emailRules)) { return("Not a valid email"); } // atleast one lower case letter // atleast one upper case letter // atleast one special character // atleast one number // atleast 8 character length string passwordRules = @"^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!*@#$%^&+=]).*$"; if (!Regex.IsMatch(registerInput.Password, passwordRules)) { return("Not a valid password"); } return(string.Empty); }
public Mutation(IUserService userService, IPasswordManager passwordManager, IEmailVerificationService verification, ISessionService sessionService, IHttpContextAccessor contextAccessor) { FieldAsync <NonNullGraphType <UserType>, User>("register", arguments: new QueryArguments(RegisterInputType.BuildArgument()), resolve: x => userService.Create(x.GetArgument <RegisterInput>("input"))); FieldAsync <NonNullGraphType <StringGraphType>, string>("refreshToken", resolve: x => sessionService.Refresh(contextAccessor.MustGetBearerToken())); FieldAsync <NonNullGraphType <TokensType>, LoginSuccessResponse>("login", resolve: x => sessionService.Login(contextAccessor.GetLoginRequest())); FieldAsync <NonNullGraphType <UserType>, User>("verifyEmail", arguments: new QueryArguments(VerifyEmailInputType.BuildArgument()), resolve: x => verification.ConfirmEmail(x.GetArgument <VerifyEmailInput>("input"))); FieldAsync <NonNullGraphType <ResultType>, Result>("sendActivationEmail", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <StringGraphType> > { Name = "login" }), resolve: x => verification.SendActivationEmail(x.GetArgument <string>("login"))); FieldAsync <NonNullGraphType <ResultType>, Result>("requestPasswordReset", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <StringGraphType> > { Name = "login" }), resolve: x => passwordManager.RequestPasswordReset(x.GetArgument <string>("login"))); FieldAsync <NonNullGraphType <UserType>, User>("changePassword", arguments: new QueryArguments(ChangePasswordInput.BuildArgument()), resolve: x => passwordManager.ChangePassword(contextAccessor.GetUserId(), x.GetArgument <ChangePasswordRequest>("input"))).Authorize(); FieldAsync <NonNullGraphType <UserType>, User>("resetPassword", arguments: new QueryArguments(ResetPasswordInput.BuildArgument()), resolve: x => passwordManager.ResetPassword(x.GetArgument <ResetPasswordRequest>("input"))); }
public string Register([Service] IAuthLogic authLogic, RegisterInputType registerInput) { return(authLogic.Register(registerInput)); }