Facebook Auth:无法加载URL:此URL的域未包含在应用的域中

时间:2018-03-21 15:32:00

标签: php facebook api laravel-5 facebook-php-sdk

我知道之前已在此链接Facebook OAuth "The domain of this URL isn't included in the app's domain"中询问过此问题,但解决方案对我不起作用。

它显示的错误如下: enter image description here

我已将我的域名包含在facebook api的应用程序域中, 我传递的重定向url格式如下: https://example.com/clients/authorization/facebook/a1njk2nkll55343nlk4/page

此处facebook /之后的随机字符是客户端的动态ID。

此外,我在登录Facebook时遇到同样的问题。

谢谢。

3 个答案:

答案 0 :(得分:3)

由于Facebook API的安全更新,这可能是个问题。

这是来自Facebook开发者仪表板!

" 3月份,我们会对您的应用设置进行安全更新,这将使来自有效OAuth重定向URI字段中未列出的URI的调用无效"

因此,为此在“有效OAuth重定向URI”字段中添加您网站的回调网址

您需要在Facebook登录中正确添加oAuth重定向URI - >设置:有效的OAuth重定向URI 在有效的OAuth重定向URI中,您可以使用以下格式包含uri: https://example.com/clients/authorization/facebook

验证时重定向uri可以如下: https://example.com/clients/authorization/facebook&a1njk2nkll55343nlk4/page

这里"&"分离您所需的其他参数。

同样的情况适用于Facebook登录。将完整登录重定向uri添加到有效OAuth重定向URI。像这样:

https://example.com/login/facebook/callback

希望这有帮助。

感谢。

答案 1 :(得分:3)

当前行为不支持动态网址重定向。

这是由于2017年12月宣布的重定向URI处理方式发生变化,并于本月生效,因此需要启用严格模式才能使用OAuth重定向:

https://developers.facebook.com/blog/post/2017/12/18/strict-uri-matching/

确保将App Domain设置为:

https://developers.facebook.com/apps/[your-app-ip]/settings/basic/

同样包括https://的所有回调网址 请参阅:

https://developers.facebook.com/apps/[your-app-ip]/fb-login/settings/

  • 如果您使用的是PHP SDK,请确保安装了最新版本(v5.6.2)。

答案 2 :(得分:0)

我遇到了这个问题。注意到在转到https://之后它仍然重定向到http:// 经过长时间的调查fb sdk发现他们在检测您的网站是否安全时遇到了问题。

所以,在档案

facebookd-V5 * - SDK / URL / FacebookUrlDetectionHandler.php 更新两个功能。更新版本:

protected function getHostName()
{
    ...

    // Don't append port number if a normal port.
    if (($scheme == 'http' && $port == '80') || ($scheme == 'https' && $port == '443') || ($scheme == 'https' && $port == '80')) {
        $appendPort = '';
    }

    return $host . $appendPort;
}

lerp