2013-08-04 55 views
4

我想做一個非常簡單的網絡應用程序,您可以使用您的Facebook帳戶登錄。Django Angular Facebook認證

我很滿意django框架和angularjs。我有一個想法如何整合這兩個使用tastypie api框架的Django。

所以,如果我是正確的,Django的後端會拋出一些可以被angularjs等使用的JSON。

我感到困惑的是Facebook的身份驗證機制。 如何將Facebook的身份驗證與我的應用程序集成? 對於這樣的應用程序,一個好的設計會是什麼?

我並不期待任何人都能爲我的應用程序提供完整的設計或體系結構,但是有些方向可以讓我可以繼續使用該應用程序。

謝謝:)

回答

7

我寫了一篇小文章就這個問題,因爲它似乎它沒有明確任何地方解釋。我發現它很容易用django-rest-framework來完成,而不是用tastypie。

以下是用於驗證的主要步驟(我會盡量加點模式來說明):

  1. 在角邊,用戶與Oauth.io Facebook的API認證(也可能是直接與Facebook js API)。
  2. 客戶端獲取Facebook身份驗證令牌。
  3. FB令牌用於在服務器端請求認證。
  4. python-social-auth使用給定的令牌與FB進行身份驗證。
  5. django-rest-framework將REST API調用的身份驗證令牌發送回客戶端。
  6. 當進行API調用時,角度客戶端在標頭中傳遞令牌。

你可以在這裏找到我的文章about facebook angularjs auth with a django rest backend