php - laravel socialite facebook 没有返回正确的头像
问题描述
大家好,我正在使用带有 laravel 的社交名流包通过 facebook 提供商登录用户,除了当我要求提供个人资料头像时,一切都很好。它不会返回用户真实的 facebook 个人资料照片,而是返回您在创建新的 facebook 帐户时获得的默认 facebook 头像。这是返回的默认 Facebook 头像,它不是用户的真实个人资料图片(https://i.stack.imgur.com/l60Hf.png)这是我的代码
/**
* Redirect the user to the Facebook authentication page.
*
* @return \Illuminate\Http\Response
*/
public function redirectToFacebookProvider()
{
return Socialite::driver('facebook')->redirect();
}
/**
* Obtain the user information from Facebook.
*
* @return \Illuminate\Http\Response
*/
public function handleFacebookProviderCallback()
{
$facebookUser = Socialite::driver('facebook')->user();
$user = User::firstOrCreate([
'email'=>$facebookUser->getEmail()
], [
'name' => $facebookUser->getName(),
'email' => $facebookUser->getEmail(),
'avatar'=>$facebookUser->getAvatar(),
]);
Auth::login($user , false);
return redirect()->route('user.dashboard');
}
解决方案
获取 getAvatar() 的 URL 然后在 url &access_token=YOURTOKEN 中包含这个参数
推荐阅读
- c - 编写一个 C 程序来读取 IPv4 地址并检查其有效性
- c# - 如何避免为特定请求重置 owin cookie 超时
- javascript - 如何在 mapbox 的边界顶部获得 lat?
- mongodb - MongoDB 添加一个时间戳字段并使用现有的 isodate 字段对其进行更新
- python - Django2 应用程序安装的“找不到满足要求的版本”错误
- python-dedupe - AttributeError:“NoneType”对象没有属性“learn_predicates”
- linux - 在 Intel 和 nvidia 上读取 gpu 负载
- identityserver4 - 使用 IdentityServer4 对 Web API 进行基于角色的授权
- scala - 如何找到两个数据帧之间的精确匹配和非精确匹配?
- rest - 为什么基于约定的路由在 RESTful API URI 模式中效率较低?