Как зайти в админку программно через API?
Всем привет. У меня довольно не стандартная задача. Мне нужно с сайта A отправить логин и пароль от админки сайта B в отдельном скрипте и при совпадении логина и пароля открывать скрытые данные, которые может получить только пользователь с админскими правами.
Вопрос. Можно ли это провернуть через API MODX и как лучше хранить данные для входа, в кукисах или сессии?
Вопрос. Можно ли это провернуть через API MODX и как лучше хранить данные для входа, в кукисах или сессии?
Комментарии: 5
Прикольный заголовок.) А хранить данные в куки — это как держать ключ от квартиры под ковриком.
Подозреваю, что имелось ввиду, что пользователь логинится на сайте А и если он является админом на сайте В, то подтянуть определённые данные.
1. Запрос с данными на коннектор.
2. В нём подгружаешь пользователя по логину.
3. Проверяешь пароль, если пользователь нашелся (passwordMatches()).
4. Проверяешь sudo или принадлежность к какой-то группе.
5. Возвращаешь нужные данные.
Подозреваю, что имелось ввиду, что пользователь логинится на сайте А и если он является админом на сайте В, то подтянуть определённые данные.
1. Запрос с данными на коннектор.
2. В нём подгружаешь пользователя по логину.
3. Проверяешь пароль, если пользователь нашелся (passwordMatches()).
4. Проверяешь sudo или принадлежность к какой-то группе.
5. Возвращаешь нужные данные.
Все правильно, за пару дней делается полная обвязка. Когда-то делал подобное, но чуть сложнее. Сайт А на джумле, сайт Б на Modx (мозг и биллинг система) На сайте А оплачивали через Paymaster, если все ОК -> редиректили на сайт Б и регистрировали пользователя в опр группу + авторизовывали там и только потом возвращали на сайт А информацию о регистрации и оплате.
У меня задача такая. На сайте A в компонент свой записываются логин и пароль от сайта B. Нужно получить через API доступ к содержимому определённого PHP файла на сайте B используя логин и пароль из компонента сайта A. Может ли кто-нибудь скинуть пример самой проверки по логину и паролю? Я себе, если честно, слабо представляю(((
В MODX же есть процессор логина, там и можно увидеть пример кода проверки пароля:
https://github.com/modxcms/revolution/blob/3.x/core/model/modx/processors/security/login.class.php#L266-L286
https://github.com/modxcms/revolution/blob/3.x/core/model/modx/processors/security/login.class.php#L266-L286
По хорошему, код проверки нужно менять на более безопасный. Вместо прямого сравнения лучше использовать специальную функцию hash_equals.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.