使用重定向 URI 的严格模式登录 Facebook

我正在使用 Codeigniter 3、Facebook SDK 和这个 这个库开发一个 Web 应用程序 用于管理请求.

I'm developing a WebApp with Codeigniter 3, Facebook SDK and this this library for manage the request.

使用 Facebook 登录的主要教程一切正常.一个例子:

Using the main tutorial for Facebook Login all things work fine. An example here:

<?php $login = $this->facebook->login_url(); ?>
<a href="<?=$login;?>"> Login with your Facebook account </a>

之后我可以使用访问令牌执行任何请求.

After that I can do any request with the access token.

在新的更新中,Facebook 应用程序必须激活重定向 URI 的严格模式.所以在开发者门户中,我像这样激活了我的网址:

With the new update, facebook apps must activate the Strict Mode for Redirect URIs. So in the developer portal I've activated my urls like this:

http://localhost/home/login

但是当我尝试登录时,facebook 响应为

But when I try to log in, facebook response with

http://localhost/home/login?code=SOME_STRING_HERE&state=SOME_STRING_HERE#_=_

没有任何访问令牌或有效会话.

without any access token or valid session.

我是否跳过了任何步骤?

Am I skipping any steps?

使用相同的代码,禁用重定向 URI 的严格模式一切正常.

With the same code, disabling Strict Mode for Redirect URIs all things work fine.

谢谢

推荐答案

在我为重定向 URI 模式启用严格模式后,当我尝试使用 Facebook 登录时,我开始收到图形返回错误:无法加载 URL:尽管我指定了重定向 url,但此 URL 的域未包含在应用程序的域中"错误​​.从图形 sdk v4 升级到图形 sdk v5 后,错误消失了.

After I enabled Strict Mode for Redirect URIs mode, when I try to login using facebook I started getting "Graph returned an error: Can't Load URL: The domain of this URL isn't included in the app's domains" error eventhough I specified redirect urls. After upgrading from graph sdk v4 to graph sdk v5 error is gone.

相关文章