【发布时间】:2019-11-05 07:27:25
【问题描述】:
我使用 Laravel 5.4 和 socialite 3.0 在我的 Web 应用程序上进行社交登录。但是现在我收到一个错误Legacy People API has not been used in project xxx。然后我在一个社交名媛包的核心文件中做了一些修改。 /vendor/laravel/socialite/src/Two/GoogleProvider.php 第 61 行:替换 https://www.googleapis.com/plus/v1/people/me? https://www.googleapis.com/oauth2/v3/userinfo?
并使用以下代码更新 mapUserToObject 函数:
protected function mapUserToObject(array $user)
{
$user['id'] = Arr::get($user, 'sub');
$user['verified_email'] = Arr::get($user, 'email_verified');
$user['link'] = Arr::get($user, 'profile');
return (new User)->setRaw($user)->map([
'id' => Arr::get($user, 'sub'),
'nickname' => Arr::get($user, 'nickname'),
'name' => Arr::get($user, 'name'),
'email' => Arr::get($user, 'email'),
'avatar' => $avatarUrl = Arr::get($user, 'picture'),
'avatar_original' => $avatarUrl,
]);
}
【问题讨论】:
-
好吗?您是否遇到任何问题或遇到任何错误?
-
是的,我遇到过但现在解决了。
-
嘿!从本周开始,我遇到了同样的错误(项目中没有使用旧版人员 API)...... 几个月来一切正常。你有没有找到解决这个问题的办法?现在,我必须创建一个新项目来解决这个问题:|
-
@Axel186 只需按照上述步骤操作,您现有项目中的问题也会得到解决。如果仍未修复,请在此处留言。
-
@VineetChauhan ,您能告诉我解决此问题的步骤吗?
标签: laravel google-signin laravel-socialite google-plus-signin