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에 따르면
나는 똑같은 것을 찾고 있는데, 지금까지 해결책을 찾았습니까? – Alhazred
아니요. 알아 내지 못했습니다. –