我知道之前已在此链接Facebook OAuth "The domain of this URL isn't included in the app's domain"中询问过此问题,但解决方案对我不起作用。
我已将我的域名包含在facebook api的应用程序域中, 我传递的重定向url格式如下: https://example.com/clients/authorization/facebook/a1njk2nkll55343nlk4/page
此处facebook /之后的随机字符是客户端的动态ID。
此外,我在登录Facebook时遇到同样的问题。
谢谢。
答案 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/
答案 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