Helber
@Helber

Почему слетает аутентификация пользователя после рендера шаблона?

class LoginView(View):

    def get(self, request, *args, **kwargs):
        print(request.user.is_authenticated)  # False
        user = authenticate(request)  #  Возвращает корректного юзера от кастомного бэкенда
        login(request, user)
        print(request.user.is_authenticated)  # True
        return HttpResponseRedirect('/')

        # {{user.is_authenticated}} = False


Пробовал через HttpResponse, HttpResponseRedirect и render. Через render показывает авторизованного пользователя но при переходе на любую стр опять разлогинивается

Кастом бэкэнд(возвращает все норм, но на всякий случай):

class TgLogin_Backend(BaseBackend):

    def authenticate(self, request, **kwargs):
        userdata = dict(request.GET)
        # Check the username/password and return a user.
        tid = int(request.GET['id'])
        del userdata['id'], userdata['auth_date'], userdata['hash']
        for f in userdata:
            userdata[f] = userdata[f][0]
       
        tg_auth_ok = verify_telegram_authentication(
            bot_token=bot_token, request_data=request.GET
        )
       
        if tg_auth_ok:
            user, created = User.objects.get_or_create(tid=tid, **userdata)
            return user

    def get_user(self, user_id):
        try:
            return User.objects.get(tid=user_id)
        except User.DoesNotExist:
            return None
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы