Facebook Login with Strict Mode for Redirect URIs(使用重定向 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.
这篇关于使用重定向 URI 的严格模式登录 Facebook的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用重定向 URI 的严格模式登录 Facebook


基础教程推荐
- 如何在数学上评估像“2-1"这样的字符串?产生“1"? 2022-01-01
- Yii2 - 在运行时设置邮件传输参数 2022-01-01
- php中的foreach复选框POST 2021-01-01
- PHPUnit 的 Selenium 2 文档到底在哪里? 2022-01-01
- 将变量从树枝传递给 js 2022-01-01
- Web 服务器如何处理请求? 2021-01-01
- php 7.4 在写入变量中的 Twig 问题 2022-01-01
- 使用 scandir() 在目录中查找文件夹 (PHP) 2022-01-01
- php中的PDF导出 2022-01-01
- 主题化 Drupal 7 的 Ubercart “/cart"页 2021-01-01