geekr icon indicating copy to clipboard operation
geekr copied to clipboard

Авторизация не применяется

Open meztihn opened this issue 2 years ago • 6 comments

Описание бага Авторизация не применяется несмотря на плашку "Вход успешен!" и успешность XHR запросов. Воспроизводится на десктопе и андроиде в 100% случаев.

Шаги для повторения бага

  1. Нажать "Войти" в сайд-меню.
  2. Ввести данные.
  3. Нажать "Войти" под формой.

Ожидаемый результат Пользователь авторизован.

Скриншоты geekr-auth

Информация об устройстве:

  • OS: Linux Mint 20.1 Cinnamon / Android 11 RP1.A.200720.011
  • Браузер: Firefox
  • Версия браузера: [последняя]

Комментарий Console

Content Security Policy: The report URI (about:blank) should be an HTTP or HTTPS URI. serviceWorker.ts:64:5 Content Security Policy: The page’s settings observed the loading of a resource at https://geekr.vercel.app/service-worker.js (“worker-src”). A CSP report is being sent. serviceWorker.ts:64:5

meztihn avatar Jul 07 '22 09:07 meztihn

Можешь посмотреть, что возвращают запросы? Возможно у меня бек отдает 200 даже при ошибке. Не скидывай только скриншоты ответов, там данные для входа (токены)! 😅

После перезагрузки страницы проблема остается?

В localStorage попробуй удалить ключи habra_CSRF_TOKEN и habra_AUTH_DATA, если они есть. Нужно в DevTools (кнопкой F12) открыть Application и вкладку localStorage.

jarvis394 avatar Jul 07 '22 13:07 jarvis394

Точную структуру не вспомню, но выглядело как нормальный ответ с токенами, а не ошибка. Сейчас 403 - ругается на капчу. Которой, к слову, нет. Проверил ещё и в чистом хромиуме - та же фигня. Таких токенов в хранилище не было.

meztihn avatar Jul 08 '22 14:07 meztihn

Удваиваю

image

Капчу не просит

image

UPD: Спустя час заработало

iska9der avatar Aug 13 '22 23:08 iska9der

Аналогичная проблема, уже долгое время не работает ни на десктопе, ни на андроиде

timnikolsky avatar Feb 13 '23 07:02 timnikolsky

На iOS так же авторизация не проходит. Увы.

sprainbrains avatar May 19 '23 09:05 sprainbrains

Сейчас проходят запросы на авторизацию (getAccountAuthData, getCSRFToken), но потом запрос на получение данных о пользователе (/me на апи хабра) отдает пустой ответ. По логике приложения, если /me отдаёт пустой объект, это означает, что токен авторизации протух и нужно перелогиниться. Поэтому, чтобы дать возможность заново войти в аккаунт, данные авторизации стираются.

Получается, что авторизация проходит и в тот же момент ответ авторизации затирается, так как произошла ошибка при получении данных юзера.

Нужно посмотреть, рабочие ли токены, возвращаемые после авторизации; какой сейчас роут для получения данных пользователя у хабра; посмотреть, не изменились ли контракты у методов, связанных с авторизацией.

jarvis394 avatar May 19 '23 09:05 jarvis394