Отключение и выход из системы¶
Распространено заблуждение, что действие disconnect
равнозначно выходу пользователя из системы, но это не так.
Disconnect
- это способ, с помощью которого пользователи могут попросить ваш проект «забыть о моем аккаунте». Это подразумевает удаление экземпляра UserSocialAuth
, который был создан, это также подразумевает, что пользователь не сможет снова войти на ваш сайт с помощью социального аккаунта. Вместо этого действием будет регистрация, будет создан новый экземпляр пользователя, не связанный с предыдущим.
Выход из системы - это просто способ сказать «забудьте мою текущую сессию», и обычно подразумевает удаление cookies, аннулирование хэша сессии и т.д. Многие фреймворки имеют свои собственные способы выхода из учетной записи (Django имеет django.contrib.auth.logout
), flask-login
также имеет свой собственный способ с logout_user().
Поскольку отключение социального аккаунта означает, что пользователь не сможет снова войти в систему с помощью этого социального провайдера в качестве того же пользователя, python-social-auth будет проверять, что аккаунт пользователя находится в состоянии, допустимом для отключения (с ним связан как минимум еще один социальный аккаунт, или пароль, и т.д.). Это поведение можно отменить, изменив значение Disconnection Pipeline.