2010-09-14 149 views
13

當通過重定向到以下網址要求授權:Facebook OAuth redirect_uri問題'給定的URL不被應用程序配置所允許。'

https://graph.facebook.com/oauth/authorize?client_id=...&scope=email,offline_access&redirect_uri=http%3A%2F%2Flocalhost%2Flogin%2Findex.php%3Fcallback%3Dfacebook 

Facebook的回報「無效的REDIRECT_URI給定的URL不是由應用程序配置允許」

可能是因爲我的應用程序在應用程序配置上註冊了http://syncacity.com。但是,twitter仍然允許我重定向到任何網址,那麼爲什麼Facebook會抱怨呢?

我會很感激你的想法:)

回答

10

爲什麼不編輯hosts文件,並指向您的域名到您的本地IP,那麼你只需要在做任何事情之前切換開發盒主機。

+0

幾年前我問過這個問題,只是想我會回來,讓你們知道,這是我一直在做的事情。我將活動的生產域添加到我的主機文件中,然後將其切換回來。它還有助於在Facebook選項卡中進行測試。只記得在測試部署時將它改回來:) – 2013-06-05 21:50:27

8

將您的應用程序網址更改爲http://localhost,然後再進行開發,然後在您的網站投入生產後。 :)

+18

這是一個貧窮的解決方案。 Facebook將重定向網址限制在您的fbApp中的設置。這使得開發一個真實的網站變得非常困難。爲什麼他們的「網站」不是經過批准的服務器列表,因此您可以一個接一個地添加機器進行測試?內部IP +外部網站。 – Kieveli 2011-04-19 17:58:22

+4

@Kievli:一種解決方案是爲每個環境創建一個應用程序,並將密鑰保存在配置文件中。這是我發現使用FB登錄的最簡單方法。 – mrmuggles 2011-11-08 14:48:11

+0

該解決方案如何提供10個upvotes?瘋! – 2012-02-15 16:09:43

1

我創建沙盒模式(高級設置)一個測試應用程序 然後整合到開發和測試

4

它得到了解決 - 感謝Facebook平臺開發人員之一。

比方說,您的本地網站的網址是http://localhost:8000 您需要在添加http://localhost:8000到Facebook的應用程序設置「設置 - >基本 - >網站 - >網站的網址。」

2

繼爲我工作:

App Domains: localhost 
Site URL: http://localhost 

enter image description here

相關問題