Отключение и выход из системы

Распространено заблуждение, что действие disconnect равнозначно выходу пользователя из системы, но это не так.

Disconnect - это способ, с помощью которого пользователи могут попросить ваш проект «забыть о моем аккаунте». Это подразумевает удаление экземпляра UserSocialAuth, который был создан, это также подразумевает, что пользователь не сможет снова войти на ваш сайт с помощью социального аккаунта. Вместо этого действием будет регистрация, будет создан новый экземпляр пользователя, не связанный с предыдущим.

Выход из системы - это просто способ сказать «забудьте мою текущую сессию», и обычно подразумевает удаление cookies, аннулирование хэша сессии и т.д. Многие фреймворки имеют свои собственные способы выхода из учетной записи (Django имеет django.contrib.auth.logout), flask-login также имеет свой собственный способ с logout_user().

Поскольку отключение социального аккаунта означает, что пользователь не сможет снова войти в систему с помощью этого социального провайдера в качестве того же пользователя, python-social-auth будет проверять, что аккаунт пользователя находится в состоянии, допустимом для отключения (с ним связан как минимум еще один социальный аккаунт, или пароль, и т.д.). Это поведение можно отменить, изменив значение Disconnection Pipeline.

Вернуться на верх