geekr
geekr copied to clipboard
Авторизация не применяется
Описание бага Авторизация не применяется несмотря на плашку "Вход успешен!" и успешность XHR запросов. Воспроизводится на десктопе и андроиде в 100% случаев.
Шаги для повторения бага
- Нажать "Войти" в сайд-меню.
- Ввести данные.
- Нажать "Войти" под формой.
Ожидаемый результат Пользователь авторизован.
Скриншоты
Информация об устройстве:
- 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
Можешь посмотреть, что возвращают запросы? Возможно у меня бек отдает 200 даже при ошибке. Не скидывай только скриншоты ответов, там данные для входа (токены)! 😅
После перезагрузки страницы проблема остается?
В localStorage
попробуй удалить ключи habra_CSRF_TOKEN
и habra_AUTH_DATA
, если они есть. Нужно в DevTools (кнопкой F12) открыть Application и вкладку localStorage.
Точную структуру не вспомню, но выглядело как нормальный ответ с токенами, а не ошибка. Сейчас 403 - ругается на капчу. Которой, к слову, нет. Проверил ещё и в чистом хромиуме - та же фигня. Таких токенов в хранилище не было.
Удваиваю
Капчу не просит
UPD: Спустя час заработало
Аналогичная проблема, уже долгое время не работает ни на десктопе, ни на андроиде
На iOS так же авторизация не проходит. Увы.
Сейчас проходят запросы на авторизацию (getAccountAuthData
, getCSRFToken
), но потом запрос на получение данных о пользователе (/me
на апи хабра) отдает пустой ответ. По логике приложения, если /me
отдаёт пустой объект, это означает, что токен авторизации протух и нужно перелогиниться. Поэтому, чтобы дать возможность заново войти в аккаунт, данные авторизации стираются.
Получается, что авторизация проходит и в тот же момент ответ авторизации затирается, так как произошла ошибка при получении данных юзера.
Нужно посмотреть, рабочие ли токены, возвращаемые после авторизации; какой сейчас роут для получения данных пользователя у хабра; посмотреть, не изменились ли контракты у методов, связанных с авторизацией.