2013-08-26 4 views
0

Я хотел бы знать, если кто-нибудь знает, есть ли способ сделать django-social-auth выкидывать ошибку, если социальная учетная запись не связана с учетной записью сайта и не регистрируется новый пользователь?Отключить регистрацию пользователя с помощью django-social-auth

ответ

1

Вы можете сделать это возможным, переопределив настройку конвейера тем, что отбрасывает запись create_user (в документах по конвейеру есть пример http://python-social-auth-docs.readthedocs.io/en/latest/pipeline.html). В основном определяют этот параметр:

SOCIAL_AUTH_PIPELINE = (
    'social_auth.backends.pipeline.social.social_auth_user', 
    'social_auth.backends.pipeline.social.associate_user', 
    'social_auth.backends.pipeline.social.load_extra_data', 
    'social_auth.backends.pipeline.user.update_user_details' 
) 

Также вы можете добавить свой собственный вход, который делает чек для вас, как это:

def user_must_exists(user=None, *args, **kwargs): 
    if user is None: 
     raise YourExceptionHere()