4
是否有可能在某些情況下防止在allauth中創建帳戶,最好是使用pre_social_login信號?防止在allauth中創建社交帳戶
是否有可能在某些情況下防止在allauth中創建帳戶,最好是使用pre_social_login信號?防止在allauth中創建社交帳戶
與當前的開發分支,你可以輕鬆地做到這一點。在您的設置:
SOCIALACCOUNT_ADAPTER = 'my.adapter.MySocialAccountAdapter'
然後用這個adapter.py:
from django.http import HttpResponse
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
from allauth.exceptions import ImmediateHttpResponse
class MySocialAccountAdapter(DefaultSocialAccountAdapter):
def pre_social_login(self, request, sociallogin):
raise ImmediateHttpResponse(HttpResponse('Closed for the day'))
另外,從pre_social_login
信號引起類似的例外(雖然我不喜歡這種做法 - 看到在文檔上指出https://github.com/pennersr/django-allauth/blob/master/allauth/socialaccount/adapter.py#L15
但是,這將改變適配器爲所有社會供應商,我可以像使用''MY_SOCIAL_ SOCIALACCOUNT_ADAPTER''一些設置爲MySocialProvider? – kxxoling
您可以檢查'sociallogin.account.provider',並選擇性地提高基於提供者類型的異常。 – pennersr
當我有很多供應商明確處理時,這會很麻煩。單獨配置它們會更加整潔,我認爲。 – kxxoling