2014-10-05 54 views
1

我目前在我的django網站中使用python-social-auth軟件包來實現千真萬確。我希望用戶能夠將多個社交帳戶關聯到django帳戶。但是,如果我在用戶使用同一供應商的帳戶登錄時調用social:begin視圖,則它不會執行任何操作,只需登錄舊帳戶即可。有沒有辦法告訴它強制從該提供商添加新帳戶?在python-social-auth中對同一供應商有多個accpunts

謝謝。

+0

你有'' 'social.pipeline.social_auth.associate_by_email'''和''' social.pipeline.social_auth.associate_user'''在你的「SOCIAL_AUTH_PIPELINE」設置? – vero4ka 2014-10-06 18:39:51

回答

1

您需要告訴提供商,您想要再次向用戶顯示「選擇帳戶」表單(如果可能,因爲這取決於提供商),或者要求用戶從原始帳戶註銷,如果它想要添加另一個協會。

例如,google-oauth2您可以通過添加此設置

SOCIAL_AUTH_GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS = { 
    'prompt': 'select_account' 
} 

谷歌的API文檔列出了supported values for prompt做到這一點。

您也可以使用此另一種選擇玩:

SOCIAL_AUTH_GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS = { 
    'approval_prompt': 'force' 
} 
相關問題