Доработать авторизацию пользователя

Завершена

Проект: modx-next-manager

Планируемый запуск: Дата начала: 10.04.2021Планируемое завершение: Дата завершения: 10.04.2021

Описание задачи

ПроектЗадачаСтатусДата постановкиНачалоКонецКто создал
modx-next-managerДоработать авторизацию пользователяЗавершена10.04.2021 06:05:3310.04.2021 06:06:3210.04.2021 06:59:29
Несколько подводных камней:

1. MODX не имеет открытого коннектора на авторизацию. Во всяком случае я его не нашел по той причине, что коннектор нельзя выполнить, если нет актуального токена modAuth и кукиса авторизованного пользователя, и если доступа нет, то он отбивает запрос с ошибкой 401, и до процессора авторизации запрос даже не доходит.

Пришлось слать запрос авторизации на саму страницу админки, чтобы получить кукис, и после этого выполнять сразу же еще один запрос на нее же, чтобы получить авторизованную страницу админки и найти в ней токен. То еще извращение...

2. С самим запросом и кукисами тоже пляски получились. На один запрос в базе данных создавалось сразу две записи сессии, при этом в ответе был кукис неавторизованной сессии. Выяснилось, что MODX в любом случае при авторизации шлет в ответе данные редиректа. fetch по-умолчанию следует этим редиректам, и ответ содержит самые последние данные. При этом он не отправляет полученные кукисы. Пришлось запретить ему это.

При этом, теоретически, у него должна быть возможность указать следовать редиректам и слать сразу же полученные кукисы. Тогда вообще было бы круто, можно было бы обойтись без второго запроса, сразу получив в ответе и код авторизованной страницы, и кукис.

Добавить комментарий