Facebook登录消息:"URL已阻止:此重定向失败,因为重定向URI未在应用程序的客户端OAuth设置中列入白名单."

Ami*_*ran 110 facebook oauth facebook-graph-api meteor

重要的提醒:

如果您注册进行测试,请转到您的个人资料设置,并根据您的兴趣添加删除个人资料.

尝试使用Facebook登录我的网站:

我收到以下错误:

URL已阻止:此重定向失败,因为重定向URI未在应用的客户端OAuth设置中列入白名单.确保启用了客户端和Web OAuth登录,并将所有应用程序域添加为有效的OAuth重定向URI.

我settings在Facebook的基础知识是:

在高级选项卡中,Valid OAuth redirect URIs设置为:

http://openstrategynetwork.com/_oauth/facebook?close

应用程序是public.

更多设置(高级): 在此输入图像描述

应用密钥和秘密是正确的.我正在使用Meteor及其帐户包.

Edw*_*ang 71

您网站上的Facebook登录按钮链接到:

https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=

注意: redirect_uri=http://openstrategynetwork.com/_oauth/facebook

如果您改为将链接更改为:

redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close

它应该工作.或者,您可以将Facebook链接更改为http://openstrategynetwork.com/_oauth/facebook

您还可以添加http://localhost/_oauth/facebook到有效的重定向URI.

Facebook要求您将重定向URI列入白名单,否则人们可以使用Facebook登录您的服务,然后将其访问令牌发送给攻击者的服务器!你不希望发生这种情况;]

  • 什么是OAuth重定向URI?我希望这与根网络应用程序的URL相同. (4认同)
  • 这似乎有效。虽然我不确定它最初是否不是,因为我试图使用我在其下创建的应用程序的帐户登录。实施了这个解决方案,并使用了一个不同的帐户,它工作(似乎)。oAuth 重定向 URI 上的语言和信息需要明确。这些信息非常深奥,几乎是神秘的。使用的术语甚至没有定义或澄清。 (2认同)

and*_*mel 63

正如提问者所写

在高级选项卡中,有效OAuth重定向URI设置为:...

我有同样的问题(将重定向url写入错误的输入字段)我想强调一下

不是

Settings -> Advanced -> Share Redirect Whitelist
Run Code Online (Sandbox Code Playgroud)

但

Facebook Login -> Settings -> Valid OAuth redirect URIs
Run Code Online (Sandbox Code Playgroud)

这本来可以节省我2个小时的反复试验.

  • 羽绒选民:请添加关于您的疑虑的评论,否则答案将不会变得更好. (7认同)
  • 耶稣,我花了很多时间在错误的地方寻找,谢谢你. (5认同)
  • 您的解决方案有效。非常感谢 (2认同)

Uma*_*har 18

这对我有用.

redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/

点击Facebook按钮后,我从浏览器中获得了这一点,您将浏览器重定向到与Facebook API集成的链接,以便您获得重定向.对于我的情况,链接是从我获得redirect_url的地方.

https://www.facebook.com/dialog/oauth?client_id=...&scope=&response_type=code&state=...&redirect_uri=http://127.0.0.1:8080/accounts/facebook/login/callback/

在此输入图像描述 在此输入图像描述


Sum*_*han 10

确保" App Domain "和Facebook Login =>有效的OAuth重定向URI.在那里你必须检查www或没有www.如果您使用www或不使用php,html,css文件和Fb应用程序设置中的所有URL,它会更好.

其他方面是,如果您使用URL的"/"结尾,则必须将该URL添加到有效OAuth重定向URI的应用设置中.示例: - https://www.example.com/index.php/ 如果您在重定向网址中使用此网址,则必须将其设置为应用设置.

希望这会有所帮助.


Hoo*_*ini 10

就我而言,我只需要确保我的 url 有和没有www的应用程序域和重定向 URL:

在此处输入图片说明

就我而言,我必须使用:signin-facebook在我的网站 url 之后,用于重定向 url。


NIK*_*C M 7

对于我的节点应用,

"facebook": {
        "clientID" : "##############",
        "clientSecret": "####################",
        "callbackURL": "/auth/facebook/callback/"
    }
Run Code Online (Sandbox Code Playgroud)

把回调Url相对

我的OAuth重定向URI如下所示

在此输入图像描述

在 Facebook auth重定向URI结束时确保 "/"

这些设置对我有用.


Eli*_*tis 5

好的首先这是一个非常明确的错误信息。看看包括我自己在内的许多开发人员都错过了这一点。请看这里的屏幕截图。

在此处输入图片说明

在产品 > Facebook 登录 > 设置下

或者直接访问这里的 url(用你的应用程序 ID 替换 YOUR_APP_ID 哈哈):

https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/
Run Code Online (Sandbox Code Playgroud)

如果你正在工作localhost:3000确保你有https://localhost:3000/auth/facebook/callback

当然,您不必实时显示状态(右上角的绿色开关),但就我而言,我现在正在部署到 heroku,很快将替换localhost:3000为https://myapp.herokuapp.com/auth/facebook/callback

当然,我会更新设置/基本和设置/高级中的网址,并在基本部分添加隐私政策网址。

我假设您已经正确配置了 initializers/devise.rb,如果您使用的是 devise 并且您安装了正确的 facebook gem 'omniauth-facebook', '~> 4.0'gem gem 'omniauth', '~> 1.6',并且您的用户表中有必要的列,例如 uid、image 和 provider。就是这样。