小编Vin*_*han的帖子

Laravel Socialite: Legacy People API 尚未在项目中使用

我已经使用 Laravel 5.4 和 socialite 3.0 在我的 Web 应用程序上进行社交登录。但是现在我收到一个错误Legacy People API has not been used in project xxx。然后我对socialite package的一个核心文件做了一些修改。/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,
    ]);
}
Run Code Online (Sandbox Code Playgroud)

laravel google-plus-signin laravel-socialite google-signin

5
推荐指数
1
解决办法
2575
查看次数