2012-10-23 43 views
5

可以連接到Facebook和Twitter,但我如何將普通的django用戶連接到他的臉書和推特網絡,以便下一次他可以通過3中的任何一個登錄,我可以利用來自這兩個網絡。如何使用django-allauth將多個社交認證提供程序連接到相同的django用戶?

可以將信號: -

allauth.socialaccount.signals.pre_social_login

被用來檢查用戶是否已經登錄,如果是社交賬戶連接到Django的帳戶,但我不能圖瞭解如何在登錄視圖中執行此操作。

回答

1

連接到不同的社交提供者竟然非常容易。如果在用戶主頁內訪問用戶登錄用戶到社交服務提供商的相同URL(例如,使用django身份驗證登錄後,普通django用戶將看到的頁面)會自動將您的django個人資料鏈接到社交應用程序配置文件。

我現在正在研究如何相處的使用圖形API與allauth獲取好友列表,塗鴉牆等

+2

嗨!我試圖做到這一點,但它似乎首先註銷,然後嘗試創建一個新帳戶和一個新的socialaccount,而不僅僅是socialaccount。你能分享你的配置嗎?你知道你做了不同的事嗎? – Throoze

+0

是的,我同意@Throoze - 請澄清解決方案。 – Routhinator

+5

@Routh:在[django-allauth的回購](https://github.com/pennersr/django-allauth#social-account-tags)中,他們討論了'provider_login_url'標籤和'process'參數。您可以選擇「登錄」或「連接」。如果你指定'connect',它不會註銷,但連接一個新的社交帳戶到當前登錄的django用戶。我花了更多的時間比我想,在實現之前:(。 – Throoze

相關問題