diff --git a/composer.json b/composer.json index 92597484..e5bb82ba 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,7 @@ "laravel/fortify": "^1.10.0", "laravel/framework": "^9.2", "laravel/sanctum": "^2.14.2", - "laravel/socialite": "^5.4", + "laravel/socialite": "^5.5.1", "laravel/tinker": "^2.7", "laravel/ui": "^3.4.2", "league/flysystem-aws-s3-v3": "^3.0.9", diff --git a/routes/api.php b/routes/api.php index 2d8d2d2b..761b9e9f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -14,7 +14,6 @@ use Domain\Browsing\Controllers\BrowseFolderController; use Domain\Sharing\Controllers\ShareViaEmailController; use Domain\Folders\Controllers\NavigationTreeController; use Domain\Items\Controllers\MoveFileOrFolderController; -use App\Socialite\Controllers\SocialiteCallbackController; use App\Socialite\Controllers\SocialiteRedirectController; use Domain\Browsing\Controllers\SpotlightSearchController; use Domain\Items\Controllers\DeleteFileOrFolderController; @@ -41,11 +40,8 @@ Route::get('/settings', GetSettingsValueController::class); // Register user Route::post('/register', RegisterUserController::class); -// Login via socialite -Route::group(['prefix' => 'socialite'], function () { - Route::get('/{provider}/redirect', SocialiteRedirectController::class); - Route::get('/{provider}/callback', SocialiteCallbackController::class); -}); +// Socialite +Route::get('/socialite/{provider}/redirect', SocialiteRedirectController::class); // Password reset Route::group(['prefix' => 'password'], function () { diff --git a/routes/web.php b/routes/web.php index e23169c7..6cb4c0c8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,9 +3,12 @@ use Domain\Homepage\Controllers\IndexController; use Domain\Invoices\Controllers\GetInvoiceController; use Domain\Sharing\Controllers\SharePublicIndexController; +use App\Socialite\Controllers\SocialiteCallbackController; use Domain\Sharing\Controllers\WebCrawlerOpenGraphController; use Domain\Localization\Controllers\CurrentLocalizationController; +Route::get('/socialite/{provider}/callback', SocialiteCallbackController::class); + // Translations Route::get('/translations/{lang}', CurrentLocalizationController::class); diff --git a/src/App/Socialite/Controllers/SocialiteCallbackController.php b/src/App/Socialite/Controllers/SocialiteCallbackController.php index 203f2c65..1f6582fb 100644 --- a/src/App/Socialite/Controllers/SocialiteCallbackController.php +++ b/src/App/Socialite/Controllers/SocialiteCallbackController.php @@ -36,7 +36,7 @@ class SocialiteCallbackController extends Controller $user->first() ); - return response('User logged in', 201); + return redirect()->to('/platform/files'); } // Check if account registration is enabled @@ -56,8 +56,11 @@ class SocialiteCallbackController extends Controller ]); // Create User - ($this->createNewUser)($data); + $user = ($this->createNewUser)($data); - return response('User registered', 201); + // Login user + $this->guard->login($user->first()); + + return redirect()->to('/platform/files'); } }