我正在使用laravel 5.0并使用社交网站扩展来启用Twitter登录。我在检索用户twitter个人资料图片时遇到了问题。
我从twitter收到的个人资料图片的网址采用以下格式。
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网址的$ userData->头像部分。
我似乎无法解决这个问题,也找不到关于这个问题的大量文档。任何帮助,将不胜感激。
答案 0 :(得分:1)
好了,验证这个网址,对于相同的网址,它似乎很简单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,
]);