0

我正在使用 laravel 5.0 并使用社交名流扩展来启用 Twitter 登录。我在检索用户 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,
        ]);

如上所示,我将用户 twitter 数据保存到我的数据库中,它是保存 HTTP url 的 $userData->avatar 部分。

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

4

1 回答 1

2

好吧,验证这个 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,
]);
于 2015-12-29T19:02:44.460 回答