middleware('guest')->except(['logout', 'handleProviderCallback', 'redirectToProvider']); } /** * Logout function * * @return void */ public function logout() { Auth::logout(); return redirect('/'); } /** * Redirect to provider's website * * @return param */ public function redirectToEveonline() { return Socialite::driver('eveonline')->scopes(['publicData'])->redirect(); } /** * Create a new controller instance * * @return void */ public function handleEveonlineCallback() { try { $user = Socialite::driver('eveonline')->user(); $findUser = User::where('character_id', $user->character_id)->first(); if($findUser) { Auth::login($finduser); return redirect()->intended('home'); } else { $newUser = User::updateOrCreate(['character_id' => $user->character_id], [ 'character_name' => $user->character_name, 'character_id' => $user->character_id, 'token' => $user->token, 'refresh_token' => $user->refresh_token, 'expiresIn' => $user->expiresIn, 'user_jwt_token' => $user->user, ]); Auth::login($newUser); return redirect()->intended('home'); } } catch(Exception $e) { dd($e->getMessage()); } } /** * Get token from callback * Redirect to the dashboard if logging in successfully. * * @return redirect() */ public function handleProviderCallback(Socialite $social) { //Get the sso user from the socialite driver $ssoUser = $social->driver('eveonline')->user(); $scpSession = session()->pull('scopes'); $user = LoginHelper::createOrGetUser($ssoUser); auth()->login($user, true); return redirect()->to('/dashboard')->with('success', 'Successfully Logged In.'); } }