feat: add rate limiting, case-insensitive usernames and session security
This commit is contained in:
@@ -43,7 +43,15 @@ class CompleteProfileController extends Controller
|
||||
}
|
||||
|
||||
$request->validate([
|
||||
'username' => ['required', 'string', 'max:255', 'alpha_dash', 'unique:'.User::class],
|
||||
'username' => [
|
||||
'required', 'string', 'max:255', 'alpha_dash',
|
||||
function ($attribute, $value, $fail) {
|
||||
$exists = User::whereRaw('LOWER(username) = ?', [strtolower($value)])->exists();
|
||||
if ($exists) {
|
||||
$fail('The username has already been taken.');
|
||||
}
|
||||
},
|
||||
],
|
||||
'first_name' => ['required', 'string', 'max:255'],
|
||||
'last_name' => ['required', 'string', 'max:255'],
|
||||
]);
|
||||
@@ -62,6 +70,7 @@ class CompleteProfileController extends Controller
|
||||
event(new Registered($user));
|
||||
|
||||
Auth::login($user, remember: true);
|
||||
$request->session()->regenerate();
|
||||
|
||||
return redirect()->intended(config('auth-ui.redirects.login', '/'));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user