【问题标题】:Laravel Socialite 2.0 Facebook Authentication only returning id and nameLaravel Socialite 2.0 Facebook 身份验证仅返回 id 和 name
【发布时间】:2015-09-30 23:33:54
【问题描述】:

我正在使用 Laravel 的 Socialite 包(版本 2.0.0)。它对 google 和 github 非常有用,但是当我尝试使用 facebook 登录时,我得到了这个:

ErrorException in FacebookProvider.php line 89:
Undefined index: first_name

FacebookProvider.php 中的错误来自此方法:

protected function mapUserToObject(array $user)
{
    return (new User)->setRaw($user)->map([
        'id' => $user['id'], 'nickname' => null, 'name' => $user['first_name'].' '.$user['last_name'],
        'email' => isset($user['email']) ? $user['email'] : null, 'avatar' => $this->graphUrl.'/'.$this->version.'/'.$user['id'].'/picture?type=normal',
    ]);
}

如果我在此映射之前 dd() $user 参数。我只得到 id 和经过身份验证的 Facebook 用户的名称。所以,这意味着我没有收到 Facebook 用户的电子邮件。我至少需要nameemail 的用户。

dd() 之后这个方法看起来像这样:

protected function mapUserToObject(array $user)
{
    dd($user);
    return (new User)->setRaw($user)->map([
        'id' => $user['id'], 'nickname' => null, 'name' => $user['first_name'].' '.$user['last_name'],
        'email' => isset($user['email']) ? $user['email'] : null, 'avatar' => $this->graphUrl.'/'.$this->version.'/'.$user['id'].'/picture?type=normal',
    ]);
}

可能是什么问题?请帮帮我。

【问题讨论】:

    标签: php facebook facebook-graph-api laravel laravel-socialite


    【解决方案1】:

    我有同样的问题,是一个错误!使用新版本的文件 FacebookProvider.php here 并工作!

    【讨论】:

      【解决方案2】:

      我更新到最新版本的社交名流。现在可以了!

      【讨论】:

        【解决方案3】:

        对于那些对如何更新到最新版本感到困惑的人 将此添加到您的 composer.json 文件中。

        "laravel/socialite": "2.*"
        

        进入您的终端作曲家更新

        干杯!

        【讨论】:

          猜你喜欢
          • 2023-04-03
          • 1970-01-01
          • 2021-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-10-10
          • 2017-06-12
          • 1970-01-01
          • 2018-02-24
          相关资源
          最近更新 更多