diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index 6b4338b..f0431c9 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -112,6 +112,8 @@ class SetupController extends Controller { $st_index_redirect = $request->input('setting:index_redirect'); $st_redirect_404 = $request->input('setting:redirect_404'); $st_password_recov = $request->input('setting:password_recovery'); + $st_specify_email = $request->input('setting:specify_email') + $st_allowed_email = $request->input('setting:allowed_email_domains') $st_base = $request->input('setting:base'); $st_auto_api_key = $request->input('setting:auto_api_key'); @@ -155,6 +157,8 @@ class SetupController extends Controller { 'ST_INDEX_REDIRECT' => $st_index_redirect, 'ST_REDIRECT_404' => $st_redirect_404, 'ST_PASSWORD_RECOV' => $st_password_recov, + 'ST_SPECIFY_EMAIL' => $st_specify_email, + 'ST_ALLOWED_EMAIL' => $st_allowed_email, 'MAIL_ENABLED' => $mail_enabled, 'MAIL_HOST' => $mail_host, diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 4899bd8..a23f1bf 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -67,6 +67,14 @@ class UserController extends Controller { $username = $request->input('username'); $password = $request->input('password'); $email = $request->input('email'); + $email_domain = explode("@", $email)[1]; + + if (env('ST_RESTRICT_EMAIL_DOMAIN')) { + if ($email_domain != env('ST_RESTRICT_EMAIL_DOMAIN_NAME')) { + // ... throw an error + return redirect(route('signup'))->with('error', 'Sorry, your email domain is not allowed to register. Try again.'); + } + } $ip = $request->ip(); diff --git a/resources/views/setup.blade.php b/resources/views/setup.blade.php index 4115a69..d0a2b40 100644 --- a/resources/views/setup.blade.php +++ b/resources/views/setup.blade.php @@ -174,6 +174,22 @@ Setup +

+ Specify Email Domain: + +

+ +

+ Please ensure if you choose to limit to a specific email domain that the domain is properly setup. +

+

+ Email Domain: + +

+

Password Recovery: