简体   繁体   English

facebook 电子邮件的 laravel 5.6 社交名流身份验证为空

[英]laravel 5.6 socialite auth by facebook email is null

I use laravel 5.6 and laravel/socialite: "^3.2.0" for auth by Facebook but while login to facebook user email is null (user facebook account has email)我使用 laravel 5.6 和 laravel/socialite: "^3.2.0" for auth by Facebook 但登录 facebook 用户电子邮件为空(用户 facebook 帐户有电子邮件)

my code for auth :我的身份验证代码:

public function redirectToProvider($provider)
    {
        return Socialite::driver($provider)->redirect();
    }

public function handleProviderCallback($provider)
    {
        $user = Socialite::driver($provider)->user();

        dd($user);
        $authUser = $this->findOrCreateUser($user, $provider);
        Auth::login($authUser, true);
        return redirect($this->redirectTo);
    }

public function findOrCreateUser($user, $provider)
    {
        $authUser = User::where('provider_id', $user->id)->first();
        if ($authUser) {
            return $authUser;
        }

        return User::create([
            'name'     => $user->name,
            'email'    => $user->email,
            'provider' => $provider,
            'provider_id' => $user->id
        ]);
    }


  [1]: https://i.stack.imgur.com/6zYEI.png

There is no error in your code.您的代码中没有错误。


Facebook users register using a Mobile number instead of Email address. Facebook 用户使用手机号码而不是电子邮件地址进行注册。 This means that Facebook doesn't have an email address for that specific user.这意味着 Facebook 没有该特定用户的电子邮件地址。 So this will be giving you back NULL所以这会让你返回NULL

Please check this under the section ( Email )请在部分( 电子邮件)下检查

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM