diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 8217f37..3713d4b 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -10,6 +10,7 @@ use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; +use Illuminate\Validation\Rules\Password; use Konekt\User\Models\UserType; class RegisterController extends Controller @@ -53,9 +54,9 @@ public function __construct() protected function validator(array $data) { return Validator::make($data, [ - 'name' => 'required|string|max:255', - 'email' => 'required|string|email|max:255|unique:users', - 'password' => 'required|string|min:6|confirmed', + 'name' => 'required|string|max:100', + 'email' => 'required|string|email|max:100|unique:users', + 'password' => ['required', 'string', 'confirmed', Password::defaults()], ]); } @@ -81,7 +82,7 @@ protected function create(array $data) $user->save(); $this->setupAccount($tenant, $user); - + return $user; } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 431e516..51f8d80 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -75,13 +75,18 @@ use App\Observers\TaxRateObserver; use App\Observers\ZoneMemberObserver; use App\Observers\ZoneObserver; +use App\Rules\AtLeastOneDigit; +use App\Rules\AtLeastOneLetter; +use App\Rules\AtLeastOneLowercaseLetter; +use App\Rules\AtLeastOneUppercaseLetter; +use App\Rules\OnlyLettersAndDigits; use App\User; -use Illuminate\Foundation\AliasLoader; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\URL; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Str; +use Illuminate\Validation\Rules\Password; class AppServiceProvider extends ServiceProvider { @@ -102,6 +107,14 @@ public function boot() return new TwHasher(); }); + Password::defaults(Password::min(12)->max(100)->rules([ + new OnlyLettersAndDigits, + new AtLeastOneLetter, + new AtLeastOneDigit, + new AtLeastOneUppercaseLetter, + new AtLeastOneLowercaseLetter, + ])); + $this->app->concord->registerModel(\Konekt\Address\Contracts\Address::class, Address::class); $this->app->concord->registerModel(\Vanilo\Adjustments\Contracts\Adjustment::class, Adjustment::class); $this->app->concord->registerModel(\Vanilo\Order\Contracts\Billpayer::class, Billpayer::class); diff --git a/app/Rules/AtLeastOneDigit.php b/app/Rules/AtLeastOneDigit.php new file mode 100644 index 0000000..c319ef8 --- /dev/null +++ b/app/Rules/AtLeastOneDigit.php @@ -0,0 +1,21 @@ +