Files
Jobhero_back/app/Http/Controllers/Auth/LoginController.php
CarlosTorres 46469deaa8 Upgrade: Laravel 11, consolidación modelos App\Models\
- Actualización a Laravel 11.47.0
- Migración de modelos a namespace App\Models\
- Actualización de todos los controladores
- Actualización de configuraciones
- Documentación README.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 22:07:34 +00:00

72 lines
1.8 KiB
PHP
Executable File

<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Auth;
use Socialite;
use Route;
use App\Models\User;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function redirectToProvider($provider)
{
return Socialite::driver($provider)->redirect();
}
public function handleProviderCallback($provider)
{
$user = Socialite::driver($provider)->user();
$authUser = $this->findUser($user, $provider);
Auth::login($authUser, true);
return redirect($this->redirectTo);
}
public function findUser($user, $provider) {
$authUser = User::where('social_id', $user->id . '_' . $provider)->first();
if($authUser) {
return $authUser;
}
return User::create([
'name' => $user->getName(),
'email' => $user->getEmail(),
'social_id' => $user->getId() . '_' . $provider,
]);
}
}