2017-01-02 1 views
1

사용자 로그인에 Socialite을 사용하고 있습니다. remember_token을 사교계를 통해 로그인 할 때 기억하도록 설정하고 싶습니다.Laravel Socialite 내게 기억하기

class AuthController extends Controller { 

    public function logout() { 
     Auth::logout(); 
     return redirect('/'); 
    } 

    public function redirectToGoogle() { 
     return Socialite::driver('google')->redirect(); 
    } 

    public function handleGoogleCallback(SocialAccountService $service) { 
     $user = $service->createOrGetUser(Socialite::driver('google')->user()); 
     auth()->login($user); 
     return redirect('/'); 
    } 
} 

문제는 사용자가 돌아 오는 경우 :

class SocialAccountService { 

    public function createOrGetUser(ProviderUser $providerUser) { 

     $account = SocialAccount::whereProvider('google') 
      ->whereProviderUserId($providerUser->getId()) 
      ->first(); 

     if ($account) { 
      return $account->user; 
     } else { 
      $account = new SocialAccount([ 
       'provider_user_id' => $providerUser->getId(), 
       'provider' => 'google' 
      ]); 

      $user = User::whereEmail($providerUser->getEmail())->first(); 
      if (!$user) { 
       $user = User::create([ 
        'email' => $providerUser->getEmail(), 
        'name' => $providerUser->getName() 
       ]); 
      } 
      $account->user()->associate($user); 
      $account->save(); 
      return $user; 
     } 
    } 
} 

그것은 다음과 같은 컨트롤러와 함께 호출됩니다

는 지금은에서 사용자를 만들거나 기록 할 수있는 다음과 같은 서비스를 그들은 기억되지 않고 자동으로 로그인됩니다. 나는 이것을 어떻게 사교계와 함께 할 수 있습니까? 설정합니다 login()의 두 번째 인수로 true을 통과하는 documentation에 따르면

+0

나는 똑같은 것을 찾고 있는데, 지금까지 해결책을 찾았습니까? – Alhazred

+0

아니요. 알아 내지 못했습니다. –

답변

3

, 토큰 기억한다.

// Login and "remember" the given user... Auth::login($user, true);

Auth 외관 및 auth() 도우미 기능에 액세스 동일한 객체.