2013-02-07 243 views
0

我想使用臉書oauth,但我很困惑,通過設置重定向網址。重複重定向網址

在Facebook的應用程序的設置,有設置站點URL()的地方

**與Facebook登錄選擇您的應用如何與Facebook的整合

網站

網站網址:

facebook-python api example中,還有另一個redirect_url參數(redirect_uri)

args = dict(client_id = FACEBOOK_APP _ID,REDIRECT_URI = self.request.path_url) self.redirect( 「https://graph.facebook.com/oauth/authorize?」 + urllib.urlencode(參數))

是什麼,以及如何使用它們之間的不同? 通過實驗我看到該用戶將只被重定向到在facebook應用設置中設置的url。

redirect_uri似乎毫無意義。

+0

我不知道facebook-python是如何工作的,但我知道Facebook允許在身份驗證重定向到驗證成功時通過redirect_uri參數,所以我猜測Facebook應用設置是一種默認值什麼都沒有給出。 – PepperoniPizza

回答

1

當您在Facebook App dashboard中添加網站時,它基本上是您將使用Facebook登錄所提供的域名,而您在代碼中提供的redirect_uri應與您提供的域名位於同一個域中Facebook應用程序設置。

所以說,我想主辦www.abc.com我的應用程序,我會需要註冊在website with Facebook login Facebook的應用程序儀表板這一領域,那麼你可以通過任何redirect_urioauth,說我想將用戶重定向到www.abc.com/facebook_redirect到處理Facebook傳遞的參數code,所以當用戶授權我的應用程序時,他將被重定向到www.abc.com/facebook_redirect,其中codestate用於CSRF保護,所以我需要從url中獲取此代碼並將其交換爲access_token並檢查爲CSRF攻擊。

+0

謝謝。你說:「我需要在Facebook登錄網站的Facebook應用程序儀表板上註冊該域名」。您的意思是DOMAIN(www.abc.com),而不是用戶重定向到的網址(www.abc.com/facebook_redirect)?但Facebook解釋說它是網址(https://dl.dropbox.com/u/27576887/ask1.JPG)。我很困惑。謝謝 – John