diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index d40c855dd..360dc0c07 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Auth\Events\Registered; use Illuminate\Http\Request; +use App\Services\EmailService; class RegisterController extends Controller { @@ -53,6 +54,8 @@ class RegisterController extends Controller protected function validator(array $data) { $this->validateUsername($data['username']); + $this->validateEmail($data['email']); + $usernameRules = [ 'required', 'min:2', @@ -105,6 +108,14 @@ class RegisterController extends Controller } } + public function validateEmail($email) + { + $banned = EmailService::isBanned($email); + if($banned) { + return abort(403, 'Invalid email.'); + } + } + /** * Show the application registration form. * diff --git a/app/Services/EmailService.php b/app/Services/EmailService.php new file mode 100644 index 000000000..aa832f365 --- /dev/null +++ b/app/Services/EmailService.php @@ -0,0 +1,23 @@ +