Beispiel #1
0
        public IActionResult Register(RegisterViewModel rvm)
        {
            if (ModelState.IsValid && !userDAL.DoesEmailAlreadyExist(rvm.Email))
            {
                // Register them as a new user (and set default role in db schema)
                // When a user registeres they need to be given a role. If you don't need anything special
                // just give them "User".
                if (authProvider.Register(rvm.DisplayName, rvm.Email, rvm.Password, role: "User") == false)
                {
                    return(StatusCode(500));
                }

                emailProvider.Welcome(userDAL.GetUser(rvm.Email));

                // Redirect the user where you want them to go after registering
                return(StatusCode(200, authProvider.ApiSignIn(rvm.Email, rvm.Password)));
            }

            return(StatusCode(422, rvm));
        }
        public bool Register(string displayName, string email, string password, string role)
        {
            if (usersDAL.DoesEmailAlreadyExist(email))
            {
                return(false);
            }

            var hashProvider = new HashProvider();
            var passwordHash = hashProvider.HashPassword(password);

            var user = new User
            {
                DisplayName = displayName,
                Email       = email,
                Password    = passwordHash.Password,
                Salt        = passwordHash.Salt,
                Role        = role
            };

            bool result = usersDAL.CreateUser(user);

            return(result);
        }