Laravel Socialite HTTPS twitter头像

时间:2015-12-29 17:24:55

标签: php laravel laravel-5 twitter-oauth laravel-socialite

我正在使用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->头像部分。

我似乎无法解决这个问题,也找不到关于这个问题的大量文档。任何帮助,将不胜感激。

1 个答案:

答案 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,
]);