Search code examples
laravel-socialitelaravel-5.6

Logout doesn't logout in laravel socialite


I am unable to logout the google user in my application,when i logout it was redirecting login page saying it is successfully logged out but when i click login with google button it is redirecting to previous logged in user i.e., it is not logged out

my controller code:

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','getLogout');
}

/**
 * Redirect the user to the GitHub authentication page.
 *
 * @return \Illuminate\Http\Response
 */
public function redirectToProvider() {
    return Socialite::driver('google')->redirect();
}

/**
 * Obtain the user information from GitHub.
 *
 * @return \Illuminate\Http\Response
 */
public function handleProviderCallback() {
    $user = Socialite::driver('google')->stateless()->user();
    if($user) {
        $authUser = $this->findOrCreateUser($user);

        Auth::login($authUser, true);
    }
    return view ( 'home' )->withDetails ( $user )->withService ( 'google' );
    // $user->token;
}

/**
 * Return user if exists; create and return if doesn't
 *
 * @param $githubUser
 * @return User
 */
private function findOrCreateUser($googleUser) {
    if ($authUser = User::where('email', $googleUser->email)->first()) {
        return $authUser;
    }
    return User::create([
        'name' => $googleUser->name,
        'email' => $googleUser->email, 
    ]);
}}

I have followed the laravel documentation steps for this social login but i am unable to logout from my application..can anyone explain why this is going to happen??


Solution

  • Well, finally i found solution to my question.Actually, there is nothing to worry about it.Logout code is working pretty good.Google account ask for permission for first time login after getting grant access it won't ask for permission it directly continues to login.If we logout the google account then it will ask for permission otherwise it won't