1
私はSocialiteをユーザのログインに使用しています。私はremember_token
を設定して、彼らがSocialiteを介してログインしたときにユーザを覚えておきたいと思います。Laravel Socialite Remember Me
今、私は、ユーザーを作成したり、ログに記録するには、次のサービスがあります。問題は、ユーザーが戻ってきたときにということである
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()
の2番目の引数としてtrue
を渡すdocumentationによると
私は同じことを探していますが、今までの解決策を見つけましたか? – Alhazred
いいえ私はこれを理解していません –