0

ソーシャル認証のユーザー詳細をUser(認証可能)モデルに保存し、ユーザーをログインさせています。の機能を使用できるようにしますAuth

コールバック関数:

public function callback()
{
    $user = Socialite::driver('facebook')->user(); 

    $newUser=new User();
    $newUser->name=$user->name;
    $newUser->email=$user->email;
    $newUser->remember_token=$user->token;
    $newUser->save();

    Auth::login($newUser, true);
    return redirect('/');
}

しかし、Facebookのパスワードをアプリデータベースに保存していないため、パスワードの検証が必要ない場合、組み込みのログイン、通常のログインフォームを使用して、誰でもユーザー名だけでログインできることに気付きました。この場合、パスワードは NULL になります。

ユーザーがログアウトした後、ユーザーの詳細を削除することを考えています。

public function logout()
{ 
    User::find(Auth::user()->id)->delete();
    Auth::logout();
    return redirect('/')->with('message','logged out!');
}

これはあまりよく見えません。社会的に認証されたユーザーに使用させるための正しいまたはより良い方法は何Authですか?

4

1 に答える 1

1

これは、API のライフサイクルを注意深く理解していないことを意味します。ユーザーをFacebookページにリダイレクトして、アプリケーションを受け入れてサインインさせます.Facebookがユーザーの詳細を提供し、fb_id、email、電話などを保存した後、それらを作成します. 次回ログインするときに、fb_id がユーザー ログインから返されたものと一致することを確認します。したがって、登録後にユーザーを削除しても意味がありません。

于 2016-12-05T11:04:45.253 に答える