2012-01-14 52 views
0

這在this thread中討論過,但它看起來還沒有被記錄。如何覆蓋/擴展在django-social-auth中使用的「pipeline」流?

我最終想要創建以下Facebook連接的申請流程:

  1. 用戶連接到Facebook的(這樣Django的社會身份驗證獲得訪問令牌但尚未創建Django中的用戶)

  2. 用戶被帶到一個視圖,我將編寫它將有訪問令牌,以便我可以提供一個註冊表單幷包含來自Facebook的數據(例如「這是您的Facebook個人資料圖片,您可以可選上傳一個新的在我們的網站上使用「)

  3. 用戶單擊一個鏈接來創建帳戶,然後才創建了Django用戶。

現在,我想步進式和反向工程Django的社會身份驗證源想出一個辦法做到這一點,但如果有人能證明一個例子,甚至是高層次的解釋一個合理的方式來做到這一點,這將是非常棒的。在此回覆的時間

回答

2

Backend init.py

線71。

PIPELINE = setting('SOCIAL_AUTH_PIPELINE', (
      'social_auth.backends.pipeline.social.social_auth_user', 
      'social_auth.backends.pipeline.associate.associate_by_email', 
      'social_auth.backends.pipeline.user.get_username', 
      'social_auth.backends.pipeline.user.create_user', 
      'social_auth.backends.pipeline.social.associate_user', 
      'social_auth.backends.pipeline.social.load_extra_data', 
      'social_auth.backends.pipeline.user.update_user_details', 
     )) 

添加SOCIAL_AUTH_PIPELINE您的設置文件和編輯這些價值觀應該允許您自定義您的管道。

此外,通過你寫的,你可能想SOCIAL_AUTH_CREATE_USERS設置爲false

編輯:固定鏈接