2013-05-07 76 views
9

我的web应用程序部署到生产现场,但我也需要执行地方发展。此外,我有几个测试服务器,在这些服务器上执行不同的测试活动。我想为Facebook OAuth2指定所有这些URI。有了Google OAuth2,就没有问题了:我可以根据需要指定任意数量的重定向URI。指定多个重定向的URI对于Facebook的OAuth2

这可能与Facebook?怎么样?我正在使用“带Facebook登录的网站”选项与Facebook进行整合。

目前我得到:

{ 
    error: { 
     message: "Invalid redirect_uri: Given URL is not allowed by the Application configuration.", 
     type: "OAuthException", 
     code: 191 
    } 
} 

回答

1

您将不得不不是创建不同的使用情况,按您的需求提供不同的应用程序。这是你必须处理的一个奇怪的限制。

虽然与Facebook无关,但Heroku的(它是合作伙伴云服务提供商)Getting Started Guide为Facebook提供了与应用程序一起开发的working locally

+2

这个答案可能是过时的,从@ben对答案“有效的OAuth重定向的URI”的作品(见这个问题的答案更多详细说明,第一评论)。 – neonstalwart 2014-09-04 20:47:20

28

我不知道他们增加了这个时候,但我只是发现了一个“有效的OAuth重定向的URI”在我的Facebook应用程序的“高级”设置字段中。我只是把http://localhost放在那里,它似乎允许重定向到我的本地主机上的任何URI。没有更多重复应用

+4

的更多信息:https://developers.facebook.com/docs/facebook-login/security/ - 载:“**指定的OAuth的白名单重定向如果可能的话网址**的指定一套详尽的应用网址是的。该设置位于设置>高级>安全部分。如果您将此设置保留为空,则应用程序域中的任何URL都可能会收到OAuth访问令牌 - 这是您的应用唯一有效的用于从OAuth流返回访问令牌和代码的重定向网址。如果应用程序域具有任何开放重定向或XSS漏洞,则该应用程序容易受到访问令牌盗用的威胁。“ – 2014-04-16 07:21:45

+2

我可以证实这也适用于我。您现在可以使用这个新设置使用相同的Facebook应用程序进行实时和本地主机URL。 – 2014-05-23 23:45:21

+1

我一直在寻找出一种方式,这样我可以禁用“有效的OAuth重定向的URI”功能,使Facebook允许我使用Facebook应用程序整合Facebook登录功能时使用任何域名。 – Phantom007 2015-09-14 08:46:24