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