Facebook登录出现“应用程序配置不允许给定的URL:一个或多个给定的URL不被允许”的错误提示。

11

我知道这个问题已经被问了很多次,但是尽管我尝试了几个url地址,还是会出现这个错误。

我正在尝试像微软教程here 中所示那样通过一个asp.net mvc应用程序进行facebook登录。

当我在本地主机上检查它时,它运行正常(Facebook中的站点URL设置为:http://localhost:55797/),但是当我尝试上传应用程序到服务器后进行检查时,它给我返回以下错误:

Given URL is not allowed by the Application configuration.: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.

我的服务器登录页面是:http://proj.ruppin.ac.il/igroup20/test1/Account/Login.aspx

我尝试在我的Facebook应用程序设置“网站URL”中写入以下内容:

*http://proj.ruppin.ac.il/
*http://proj.ruppin.ac.il/igroup20/
*http://proj.ruppin.ac.il/igroup20/test1/
*http://proj.ruppin.ac.il/igroup20/test1/Account/
*http://proj.ruppin.ac.il/igroup20/test1/Account/Login.aspx

但是它们都对我无效。

这是我的 AuthConfig.cs 文件:

public static void RegisterOpenAuth()
        {
            // See http://go.microsoft.com/fwlink/?LinkId=252803 for details on setting up this ASP.NET
            // application to support logging in via external services.

            //OpenAuth.AuthenticationClients.AddTwitter(
            //    consumerKey: "your Twitter consumer key",
            //    consumerSecret: "your Twitter consumer secret");

            OpenAuth.AuthenticationClients.AddFacebook(
                appId: "474928559284763",
                appSecret: "****"); //hidden just for this question


            //OpenAuth.AuthenticationClients.AddMicrosoft(
            //    clientId: "your Microsoft account client id",
            //    clientSecret: "your Microsoft account client secret");

            //OpenAuth.AuthenticationClients.AddGoogle();
        }

编辑:

以下是我认为相关的屏幕截图,但我的GUI似乎与Tommy在这篇帖子中的不同:

屏幕1

屏幕2

编辑2:

我刚刚注意到有一个应用程序域的地方,并在那里写下了“proj.ruppin.ac.il”,在网站URL中:"http://proj.ruppin.ac.il/igroup20/test1/" 但仍然出现相同的错误。


请查看此答案,可能会有所帮助。http://stackoverflow.com/questions/20688741/javascript-not-running-on-facebook-iframe/20693413#20693413 - ShapCyber
谢谢 ShapCyber,但这个帖子是关于 Facebook 应用程序的,我正在尝试从第三方网站登录。你有任何想法为什么我看到与 @Tommy 这里不同的开发人员页面 GUI 吗? - Dvirski
顶一下。我整天都在调整这些设置,但仍然收到该死的“给定URL…”消息。我已经排除了端口的影响。在浏览器中,我只看到local.mydomain.com;对于我的站点/移动URL。应用程序域没有任何区别。Facebook,你为什么不让我登录? - Andy V
10个回答

7

为了方便搜索者,当我创建网站测试版本时也遇到了同样的问题。

解决方法是进入 Facebook 网站 > 应用程序 > 我的应用 > 设置 > '高级' 选项卡并在标题为“有效OAuth重定向URI”的部分中添加本地主机地址。

注意:在测试时,对于 xyz.azurewebsites.net 域和 .com 域都需要进行相同的操作。


6

试试这个!这些步骤对我在本地托管的fb应用程序http://localhost:3000/有效。

一旦登录到developers.facebook.com/...上的您的应用程序,

  1. 单击“设置”>“基础”
  2. 将“应用程序域”字段留空。
  3. 单击“+添加平台”>“网站”
  4. 在“网站URL”和“移动网站URL”字段中均使用http://localhost:3000/
  5. 单击“保存更改”

最后!


这个像魔法一样运行,应该就是答案了!感谢@jlynchdotco。 - Roy Lee

3

您需要在Facebook应用程序配置模块中更新您的应用程序域名为proj.ruppin.ac.il(从参考教程中获取的图像显示更改FB应用程序登录URL时需要更新2个位置)

enter image description here


谢谢,但我似乎在开发者部分的应用程序页面中找不到这个屏幕。请查看我的编辑,了解开发者部分对我来说是什么样子。 - Dvirski
@Dvirski - 应用程序域名在联系电子邮件的左侧。您粘贴的屏幕截图与我看到的完全不同。您是否在developers.facebook.com? - Tommy
是的,这就是我所在的URL:https://developers.facebook.com/x/apps/474928559284763/dashboard/。这很奇怪... - Dvirski
请检查我的第二次编辑,注意到了一个域名的地方,但仍然出现相同的错误。 - Dvirski
@Dvirski - 你尝试将你的网站设置为 http://proj.ruppin.ac.il/ 吗?此外,你能否根据评论更新/替换你所做的更新的截图(更新应用程序域和网站URL)? - Tommy
2
如果我将“localhost”输入为应用程序域名,Facebook会显示“不允许使用顶级域名”。 - Murat Çorlu

1

以下是我完成此操作的所有步骤:

  1. 在“应用程序域”中没有设置任何内容。
  2. 将服务器名称(带端口)放入“站点URL”中。
  3. 在“应用程序详细信息”选项卡中启用您的“网站”(我使用的是移动网站)http://cl.ly/image/0h0D0L050Z2v(为什么这与设置URL分开呢?)
  4. 四次检查您的应用ID。我发誓我的ID已更改。但也许我是幻觉。

0

你只需要同时包含本地主机的端口号。


0

我在设置中使用example.com使其正常工作,没有http://www。这对你也应该有效(而且你可以添加多个域名)。


0

你的问题与Facebook JavaScript SDK实现和Facebook应用程序设置有关。JS SDK无法初始化,因为它被给予了“错误”的设置。

应用程序域应该是proj.ruppin.ac.il,网站URL应该是http://proj.ruppin.ac.il/igroup20/test1/。看起来你已经这样做了。如果是这样,请确保保存正确,并且没有接收到任何验证问题。

最后,请转到您的Facebook应用程序的“仪表板”并查找任何警告。例如,您可能会看到启用了沙盒模式;在使用Facebook JS SDK之前,您可能需要禁用它。

像其他人一样,我仍然看到“旧”的Facebook应用程序面板,但如果您可以提供“仪表板”和“设置”窗格的全屏截图,我们可以提供更多帮助。


0

对于像顶级域名不允许的错误,我们需要提供网站和移动URL以及端口号,这对我来说很有效。


-1

您可以像这样提供URL:

1. https://developers.facebook.com/x/apps/662194763843967/settings/

在应用设置中的应用域中添加您的域名,注意不要使用http://

假设您的域名是

http://localhost/abhinav/

然后写入localhost/abhinav/

  1. 点击添加平台,假设它是一个Web应用程序

在网站文本框中写入您的完整网站URL

网站URL:http://localhost/abhinav/

下面是参考图像,您可以看到应该在应用程序域中放置什么

http://i.stack.imgur.com/qZVkk.png\


-2

所以,Facebook及其API中存在一些错误-

当前有一个bug会阻止Windows Phone上的Facebook登录工作,如果您在应用程序设置的高级部分的“有效的OAuth重定向URI”字段中有任何条目。可以通过在此字段中添加“https://m.facebook.com/dialog/return/ms”来解决。

尝试不同的链接,这个链接对我有用。

"http://www.facebook.com/"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接