Skip to content

Commit d9b4079

Browse files
committed
feat: Add user registration check in SocialiteController and update framework config
1 parent e3146e2 commit d9b4079

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/app/Http/Controllers/SocialiteController.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,23 @@ public function callback(string $driver): RedirectResponse
2626
{
2727
$socialUser = Socialite::driver($driver)->user();
2828

29+
// Find user
2930
$user = User::query()
3031
->where('email', $socialUser->getEmail())
31-
->firstOr(fn () => User::create([
32+
->first();
33+
34+
if (! $user) {
35+
if (! config('gemadigital.registration_open')) {
36+
return redirect()->route('login')->with('error', 'Registration is closed');
37+
}
38+
39+
$user = User::create([
3240
'name' => $socialUser->getName(),
3341
'email' => $socialUser->getEmail(),
3442
'avatar' => $socialUser->getAvatar(),
3543
'password' => bcrypt(Str::random(16)),
36-
]));
44+
]);
45+
}
3746

3847
$user->name = $socialUser->getName();
3948
$user->avatar = $socialUser->getAvatar();

src/config/framework.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
env('AUTO_ADMIN_DOMAINS', 'gemadigital.com,immera.io')
1111
),
1212

13+
'registration_open' => env('REGISTRATION_OPEN', env('BACKPACK_REGISTRATION_OPEN', env('APP_ENV') === 'local')),
14+
1315
'sidebar' => [
1416
'filemanager' => false,
1517
'backups' => false,

0 commit comments

Comments
 (0)