Как узнать, какой провайдер аутентификации использовал пользователь в Django

Я использую django-social-auth для аутентификации. Как выяснить, какой бэкэнд социальной аутентификации был request.user используя, когда мой социальный аутентификатор User модель django.contrib.auth.models.User?

Цель - показать значок (например, твиттер, фейсбук, большой G) рядом с "профилем" пользователя / ссылкой выхода из системы в базовом шаблоне.

1 ответ

Решение

Взгляните на процессоры контекста шаблона django-social-auth. Например, если вы добавите social_auth_backends процессор, то

{{ social_auth.associated }}

покажет список UserSocialAuth экземпляры, связанные с текущим пользователем.

Другие вопросы по тегам