Path : /var/www/clients/client0/web25/web/app/Http/Controllers/Auth/ |
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
Current File : /var/www/clients/client0/web25/web/app/Http/Controllers/Auth/AuthController.php |
<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Models\User; use Auth; use Socialite; class AuthController extends Controller { /** * Redirect the user to the GitHub authentication page. * * @return Response */ public function redirectToProvider($provider) { return Socialite::driver($provider)->redirect(); } /** * Obtain the user information from provider. * * @return Response */ public function handleProviderCallback($provider) { try { $user = Socialite::driver($provider)->stateless()->user(); } catch (Exception $e) { return redirect()->route('login'); } $authUser = $this->findOrCreateUser($user, $provider); Auth::login($authUser, true); return redirect()->route('home')->withSuccess(__('auth.logged_in_provider', ['provider' => $provider])); } /** * Return user if exists; create and return if doesn't * * @param $user * @return User */ private function findOrCreateUser($user, $provider) { $authUser = User::where('provider_id', $user->id)->first(); if ($authUser) { return $authUser; } return User::create([ 'name' => $user->name ?? $user->email, 'email' => $user->email, 'provider' => $provider, 'provider_id' => $user->id ]); } }