Facebook OAuth"此网址的域名未包含在应用的域中"

dan*_*gel 225 facebook oauth facebook-graph-api laravel laravel-socialite

首先让我说我已经搜索了这个问题的答案已经有一段时间了......

我正在尝试设置Facebook OAuth以使用我的机器上本地开发的应用程序.一切都与Facebook授权完美配合UNTIL我从使用localhost转移到另一个域名(仍然是我的机器本地.)现在我收到以下错误.

无法加载网址:此网址的域名未包含在应用的域中.要加载此网址,请将应用的所有域和子域添加到应用设置中的应用域名字段中.

我的主机文件包含127.0.0.1 photovote.dev (完美的工作)

我的应用程序中的重定向(使用Socialite)是 http://photovote.dev/auth/facebook/callback

在我的Facebook应用程序设置中...

  • 我的App域名是 photovote.dev
  • 我的网站网址是 http://photovote.dev/
  • 我的有效OAuth重定向URI是 http://photovote.dev/auth/facebook/callback

错误消息时的URL是..

https://www.facebook.com/v2.5/dialog/oauth?client_id=XXXXXXXXXXXXXXX&redirect_uri=http%3A%2F%2Fphotovote.dev%2Fauth%2Ffacebook%2Fcallback&scope=email&response_type=code&state=0ztcKhmWwFLtj72TWE8uOKTcf65JmePtG95MZLDD

我不知道问题是什么......

屏幕截图1
屏幕截图

屏幕截图2 在此输入图像描述

Cra*_*bie 202

万一有人遇到这个并正在寻找这些设置(就像我一样)

你必须

  1. 在左侧,单击"+添加产品"并选择"Facebook登录"(它在我的顶部)
  2. 请参阅左侧可用的新设置
  3. 您现在将在"产品设置"中进行这些OAuth设置

在此输入图像描述

附加信息:确保像添加回调URL http://localhost:3000Valid OAuth redirect URIs现场的Facebook登录的设置页

  • 这不是错误消息所指的内容.有关_Valid OAuth重定向URIs_的特定错误消息,这不是此处发生的情况.该消息明确指的是设置»基本»应用程序域.但问题是,即使填写了正确的域,仍会显示错误消息. (19认同)
  • 这为我修好了.即使我正确填写了域名,但我没有添加重定向网址.添加重定向URL修复了问题.看起来目前FB正在为此问题发送错误的错误消息. (7认同)

Lei*_*nel 75

如果您在Facebook中创建应用程序时输入了错误的详细信息,通常会发生这种情况.或者您是否更改了现有应用程序的URL?

你能否在这个页面上重新检查你的APP的设置?

https://developers.facebook.com/apps

  1. 选择正确的应用程序,然后单击编辑按钮;

  2. 检查URL和路径是否正确输入,并指向您已安装Ultimate Facebook插件的站点.

  • 我刚才看到你所说的"你改变了现有应用程序的URL",这正是发生的事情,我想它会导致生成一个新的客户端\密码ID (3认同)

Swo*_*oot 56

我有同样的问题.我通过将我的OAuth重定向URI作为参数添加到getAccessToken函数调用来解决它:

$redirectLoginHelper->getAccessToken("https://www.example.com/myfacebookcallback")
Run Code Online (Sandbox Code Playgroud)

如果没有参数发送到该函数,SDK会自行生成重定向URI,这应该有效,但在我的情况下却没有.

希望这有助于某人.

  • 这应该是公认的答案.解决问题! (6认同)
  • 这是将我的网站从 http 移动到 https 后使其工作的唯一方法。即使更改了 Facebook Api 设置中的所有域,它也无法正常工作。 (2认同)
  • 谢谢 。解决了这个问题-从Facebook真的很糟糕,因为所有这些错误都是抽象的/模棱两可的,而且您也不知道在哪里看 (2认同)

San*_*rar 33

确保您的应用是公开的.点击+添加产品现在转到产品=> Facebook登录立即执行以下操作:

有效的OAuth重定向URI:example.com/

取消对回拨网址的授权:https://example.com/facebookapp http://unicodeitsolutions.com/


ban*_*ang 18

以下是我为解决此问题所做的工作: 在此输入图像描述

基本上:

1)启用" 嵌入式浏览器OAuth登录 "

2)禁用" 使用重定向URI的严格模式 "并输入重定向URI,就像我一样.

3)保留所有其他选项.

4)保存您的更改.

5)享受:)

  • 对我来说,不能禁用 **Use Strict Mode for Redirect URIs**。 (4认同)
  • 2019年后严格模式无法禁用,该解决方案将不再有效 (3认同)

小智 9

Facebook 最近禁用了“对重定向 URI 使用严格模式”的切换按钮,因此您需要添加点击登录按钮时调用的确切 URI。就我而言,它如屏幕截图所示。它为我解决了这个问题:)

在此处输入图片说明


sh6*_*210 8

就我而言,我要做的只是启用嵌入式浏览器 OAuth 登录

在此处输入图片说明


小智 7

我遇到了同样的问题,它来自错误的client_id/Facebook App ID.

您是否将Facebook应用程序切换为"公共"或"在线"?当您这样做时,Facebook会创建一个带有新App ID的新应用程序.

您可以将网址中的"client_id"参数值与Facebook信息中心中的值进行比较.


Gre*_*een 7

截至 2017-10 年。

解决了我的问题的解决方案。

目前,FB呈现出这个惊喜。

...应用程序的客户端 OAuth 设置。确保客户端和 Web OAuth 登录处于...

在此处输入图片说明

要调整的设置位于此处https://developers.facebook.com/apps/[your_app_itentifier]/fb-login/

尾部斜杠很重要。它们必须在您的应用程序代码和 FB 管理设置中匹配。所以这是您代码中某处的配置(请参阅下文如何获取开发应用程序的任何域名):

{
    callbackURL: `http://my_local_app.com:3000/callback/`, // trailing slash
}
Run Code Online (Sandbox Code Playgroud)

和这里

在此处输入图片说明

要获取本地 Windows 计算机上应用程序的任何域名,请编辑host文件。自定义名称可以很好地去除所有那些localhost:8080, 0.0.0.0:30303, 127.0.0.0:8000, 等等。因为像 FB 这样的第三方服务有时无法让您使用127.0.0.0名称。

在 Windows 10 上,hosts文件在这里:

C:\Windows\System32\drivers\etc\hosts
Run Code Online (Sandbox Code Playgroud)

备份初始文件,创建一个不同名称的副本(在本机 Windows CMD 中不起作用。我使用Git for Windows,它有很多 Unix 命令)

$ cp hosts hosts.bak
Run Code Online (Sandbox Code Playgroud)

添加这个 hosts

127.0.0.1  myfbapp.com # you can access it in a browser http://myfbapp.com:3000
127.0.0.1  www.myotherapp.io # In a browser http://www.myotherapp.io:2020
Run Code Online (Sandbox Code Playgroud)

例如,为了摆脱端口部分:3000设置 NGINX。


Cos*_*min 7

我修复它的方式:我转到了有效OAuth重定向URI文本框并设置了确切的 URL,而不仅仅是域:

之前: https://my-website.com

后: https://my-website.com/facebookoauth/facebooklogin

(在您的情况下,网址可能会有所不同,请在浏览器的地址栏中查看).

这是由设置使用重定向URI的严格模式引起的,该模式已锁定在"是"位置.


小智 5

我有同样的问题,

我只是将我的本地ADRESS的链接HTTP://localhost/Facebook%20Login%20Test.htmlSite URL我的应用程序设置https://developers.facebook.com/apps

现在它工作正常:) 我希望这是有用的 ;)


Amb*_*kar 5

点击这里代码项目!其代码项目示例.它对我有用

在此输入图像描述


Rum*_*nka 5

大多数情况下,在FB仪表板的产品部分未插入正确的有效OAuth重定向URL的情况下,建议遵循以下步骤

01. 检查应用程序的基本设置是否正确,并带有波纹管图片

在此处输入图片说明

02. 检查是否添加了产品

如果没有,您可以通过单击+正弦来轻松添加登录产品,如下所示。

如果是,则进入产品设置的内部。 在此处输入图片说明

03. 检查您是否提供了有效的OAuth重定向URL

它的简单意思是登录后应该显示什么。它不只是回叫URl。您可以在下面的图片中看到我添加了几个重定向URL。 在此处输入图片说明

  1. 进一步遇到问题观看我的视频-> https://www.youtube.com/watch?v=mdhubrzV5y8&t=3s


adr*_*TNT 5

无法加载URL:此URL的域未包含在应用程序的域中。为了能够加载此URL,请将应用程序的所有域和子域添加到应用程序设置的“应用程序域”字段中。

我今天遇到了这个问题,至少可以说,我发现Facebook文档和SDK不尊重其他开发人员。

除了将“应用程序域”放在两个没有太多信息的位置(如果添加“网络”平台,则为3)之外,您还需要转到应用程序产品/ facebook登录名/设置,并在有效OAuth重定向URI下添加重定向网址

该错误表明没有关于oauth设置的信息。

  • 是的,我也必须执行此额外步骤。我分享您对文档的看法! (4认同)
  • 确切地。查看有效域,一切都正确。几十分钟后,我打开登录部分,再次看到重定向网址,它是空的。在两个地方使用相同的东西是违反所有标准的。但对 Facebook 有何期待呢? (2认同)