2013-05-07 43 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