Laravel Socialite HTTPS 推特头像
Laravel Socialite HTTPS twitter avatar
我正在使用 laravel 5.0 并使用 socialite 扩展来启用 Twitter 登录。我在检索用户推特个人资料图片时遇到问题。
我从 Twitter 收到的个人资料图片的 url 格式如下。
http://pbs.twimg.com/profile_images/662983942727999489/q5I9DMyE_normal.png
这被保存到我的数据库并在用户登录他们的帐户时显示。问题是这张图片是通过 HTTP 提供的,当用户访问他们的帐户时会产生浏览器警告,因为并非所有页面内容都是通过 HTTPS 提供的。
与 HTTP 相比,有什么方法可以使用 HTTPS 保存 Twitter 个人资料图片。
$user = User::create([
'provider_id' => $userData->id,
'name' => $userData->name,
'username' => $userData->nickname,
'email' => $userData->email,
'avatar' => $userData->avatar,
'active' => 1,
]);
我将用户推特数据保存到我的数据库中,如上所示,它是保存 HTTP url.
的 $userData->avatar 部分
我似乎无法解决这个问题,也找不到很多关于这个问题的文档。任何帮助,将不胜感激。
好吧,验证这个 url,对于相同的 url 工作似乎很简单 https://
,所以你可以这样做:
$user = User::create([
'provider_id' => $userData->id,
'name' => $userData->name,
'username' => $userData->nickname,
'email' => $userData->email,
'avatar' => str_replace('http://','https://',$userData->avatar),
'active' => 1,
]);
我正在使用 laravel 5.0 并使用 socialite 扩展来启用 Twitter 登录。我在检索用户推特个人资料图片时遇到问题。
我从 Twitter 收到的个人资料图片的 url 格式如下。
http://pbs.twimg.com/profile_images/662983942727999489/q5I9DMyE_normal.png
这被保存到我的数据库并在用户登录他们的帐户时显示。问题是这张图片是通过 HTTP 提供的,当用户访问他们的帐户时会产生浏览器警告,因为并非所有页面内容都是通过 HTTPS 提供的。
与 HTTP 相比,有什么方法可以使用 HTTPS 保存 Twitter 个人资料图片。
$user = User::create([
'provider_id' => $userData->id,
'name' => $userData->name,
'username' => $userData->nickname,
'email' => $userData->email,
'avatar' => $userData->avatar,
'active' => 1,
]);
我将用户推特数据保存到我的数据库中,如上所示,它是保存 HTTP url.
的 $userData->avatar 部分我似乎无法解决这个问题,也找不到很多关于这个问题的文档。任何帮助,将不胜感激。
好吧,验证这个 url,对于相同的 url 工作似乎很简单 https://
,所以你可以这样做:
$user = User::create([
'provider_id' => $userData->id,
'name' => $userData->name,
'username' => $userData->nickname,
'email' => $userData->email,
'avatar' => str_replace('http://','https://',$userData->avatar),
'active' => 1,
]);