如何解决“Facebook 检测到 MyApp 未使用安全连接传输信息。” Laravel 中的错误
Posted
技术标签:
【中文标题】如何解决“Facebook 检测到 MyApp 未使用安全连接传输信息。” Laravel 中的错误【英文标题】:How to fix 'Facebook has detected MyApp isn't using a secure connection to transfer information.' error in Laravel 【发布时间】:2019-12-13 19:21:53 【问题描述】:我正在尝试使用 Laravel 和社交名媛包将我的应用程序连接到 facebook 登录。但我不知道为什么 facebook 会显示此错误。我搜索了互联网,但我找不到任何东西。我该如何解决这个错误?
我认为如果我与 https 建立连接,它将起作用,但在再次建立 https 后会出现错误。
我在 laravel 中的代码:
web.php
Route::get('login/provider', 'SocialController@redirect');
Route::get('login/provider/callback','SocialController@Callback');
SocialController.php
public function redirect($provider)
return Socialite::driver($provider)->redirect();
public function Callback($provider)
$userSocial = Socialite::driver($provider)->stateless()->user();
$users = User::where(['email' => $userSocial->getEmail()])->first();
if($users)
Auth::login($users);
return redirect('/');
else$user = User::create([
'username' => $userSocial->getName(),
'email' => $userSocial->getEmail(),
'provider_id' => $userSocial->getId(),
'provider' => $provider,
]);
return redirect()->route('home');
【问题讨论】:
所以“与 https 建立连接”究竟是什么意思 - 只是通过https://
访问该站点,还是您对配置进行了其他更改?
@misorude,我认为没有,我与 https:// 建立了联系,但 facebook 再次显示错误。也许这个错误意味着不同的东西
那么当您尝试调用登录对话框时,地址栏会显示什么 - redirect_uri
参数的值,实际上是 HTTPS URL 吗?
当我尝试登录 uri 时,facebook.com/v3.0/dialog/… 我认为你是对的,因为在 uri http 中写了
非常感谢。我在 .env 中更改 FACEBOOK_URL 解决了这个错误。但是现在我有新的错误你知道这个i.imgur.com/7OGEQ1A.png的解决方案吗?
【参考方案1】:
您可以执行“创建测试应用”并使用测试应用替换您的 App ID 和 Secret。
【讨论】:
这为我解决了。【参考方案2】:简单的答案是 - Facebook 会将敏感数据发送到提供的 redirect_uri
,因此它通过强制您使用有效的 SSL 来确保此连接是私密的。
只要您没有使用正确的证书设置有效域,Facebook 就不会让您使用生产 API。
【讨论】:
这个redirect_uri是在哪里定义的?我在 Facebook 控制台中的 App Domains、Site URL、Domains 和 Valid OAuth Redirect URIs 中有一个 https ssl 安全域,但它仍然使用redirect_uri=http://domain
而不是 https【参考方案3】:
看起来像是过期了。我刚刚创建了另一个 Facebook 应用程序,它可以正常工作。
【讨论】:
【参考方案4】:您可以使用ngrok 使您的本地主机为https。 下载并运行 ngrok.exe。
然后运行命令 ngrok.exe http port。在大多数情况下,它将是 8000。
【讨论】:
通过 ngrok 的安全端点需要付费计划。【参考方案5】:我使用了 https 服务器,它工作正常
参考this和this
【讨论】:
【参考方案6】:如果出现角度问题:尝试在安全套接字层 true 模式下为您的应用提供服务,因为 Facebook 正在检测不安全的连接
使用以下命令:
ng serve --ssl true
【讨论】:
以上是关于如何解决“Facebook 检测到 MyApp 未使用安全连接传输信息。” Laravel 中的错误的主要内容,如果未能解决你的问题,请参考以下文章