Николай
Как в Laravel
Ilya
ага!, есть где нибудь примеры получения токена?
Ilya
ага!, есть где нибудь примеры получения токена?
или авторизации по ссылке, я их перепишу.
Николай
Из коробки нет такого. Как делаю я. 1. Расширяю юзера, добавляю поле токен 2. При авторизации формурую произвольный токен, пишу его в базу, отдаю клиенту. 3. Клиент сохраняет токен и подписывает им каждый запрос. 4. При каждом запросе - сервер в первую очередь проверяет существование токена в базе. По вкусу еще права, не заблокирован ли. 5. При выходе - затираем токен.
Николай
Так а что тебе еще надо, если ты это реализовал то?
Ilya
Так а что тебе еще надо, если ты это реализовал то?
нет я пришел на работу тут стоит мутант перефаршированный, вот думаю как сюда врезать авторизацию
Николай
хто стоит?
Николай
а
Ilya
благо хоть пользователи на стандартной схеме висят
Ilya
Ilya
над которым уже на долгосрок работало челоека 3 до меня
Николай
А, и еще при работе с удаленными запросами - забудь о сессиях. Потому что при каждом обращении новая сессия поднимается
Николай
Я потому и minishop перепилил, что он на сессиях был. Удаленно не поработаешь
Nano.Karmabot.chat
Splendid! biz87 got +1 from ArdiusIlya. 67 karma in total.
Николай
Ну и я не исключаю, что я умственно неплолноценный и есть способы нормально поднять сессию и общаться через куки
Ilya
Ну и я не исключаю, что я умственно неплолноценный и есть способы нормально поднять сессию и общаться через куки
ну хз, я рейтинг поднимал и на модексе бота телеграмного держал, вместо базы юзал migx. Все завасит от степени упоротости)
Ilya
Ну и я не исключаю, что я умственно неплолноценный и есть способы нормально поднять сессию и общаться через куки
так стоп, единственное что модекс шлет браузеру по дефолту это PHPSESSID, так зачем токен? Можно же запустить процесс стандартной авторизации. Логин и соленый пароль по мылу можно найти, я пока предполагаю такую схему: на определенной странице пост запросм получаем мыло; далее обрабатываем срествами модекса; на выходе отдаем на аякс валидную куку PHPSESSID;
Ilya
я понимаю что задачка специфичная но неужели никто вход в личный кабинет не реализовал ссылкой?
Ilya
Я делал опять же
я просто не понимаю зачем токен прилаживать если из коробки он что то генерит и в куку кладет, почему этим не воспользоваться.
Николай
Ты толком задачу не обрисовал, а вопросы задаешь
Ilya
Ты толком задачу не обрисовал, а вопросы задаешь
задача по имейлу авторизовать пользователя, без пароля и логина
Ilya
изи же
Ilya
Приключение на 5 минут, войти и выйти.
Николай
Я почему то думал что разговор идет за удаленные апи запросы
Ilya
Я почему то думал что разговор идет за удаленные апи запросы
ну пока остановимся на ссылке, там остальное я сам перепишу
Николай
задача по имейлу авторизовать пользователя, без пароля и логина
Так я ж тебе отвечал. AddSessionContext делаешь и все
Ilya
Так я ж тебе отвечал. AddSessionContext делаешь и все
ага он код на указанного пользователя генерит и все, при установе кго в куку он не входит так как его в базе нет, если его добавить вручную результат тот же.
Николай
Ты что то не то пишешь
Николай
Все прекрасно работает
Ilya
Все прекрасно работает
$user = $modx->getObject('modUser', 20); if (!is_object($user)) { $modx->user =& $user; $modx->getUser(); $modx->user->addSessionContext('web'); $session = session_id(); //echo $session; $user->Profile->set('sessionid', $session); $user->Profile->save(); }
Ilya
по логике это должно писать выдать код который модекс вкидывает в базу, но он и в базу не вкидывает да и код каждый раз генерит
Ilya
с генерёжкой все понятно
Ilya
но вот куда он должен залететь чтоб сработать я хз
Ilya
modx_user_attributes по идее получать должен но хрен там в столбце sessionid
Ilya
версия 2.7.3
Саша
подскажите, как понять почему не отправляется форма, уже и просто формит пробовал без аякса и... да всё уже перепробовал, но не отправляет и сообщение об отправки после нажатие на отправить стандартное, а не то которое в вызове прописано
Николай
А тебе зачем в базе ключ сессии?
Ilya
А тебе зачем в базе ключ сессии?
так он там и так лежит
Ilya
в случае моего аккаунта и некоторых других акков
Ilya
но он есть не у всех
Николай
Зачем туда сохраняешь говорю?
Ilya
Зачем туда сохраняешь говорю?
в плане?, по аналогии с тем что уже лежало в базе
Ilya
могу не писать но тогда куда писать\читать сессию из базы
Ilya
Я так и не понял в чем проблема? У тебя что то не работает?
код он генерит, но если его вбить в куку авторизация не отрабатывает
Ilya
а где она включается?
она по умолчанию работает, если все правильно на сервере настроенно
Саша
а получается она на хостинге включаться должна... а как проверить работает она или нет? потому что очень странно как то, вообще как бы не делал письма не отправляются
Саша
да
Ilya
да
<?php $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?>
Ilya
поменяй по своему вкусу и запусти
Ilya
если придет тебе на мыло значит почта на сервере работает
Саша
В to как раз своё мыло и подставить?
Евгений
есть еще момент, на некоторых хостах From - должно содержать доменную почту
Ilya
может придти в папку спам, поскольку тут подделываеться заголовок
Николай
код он генерит, но если его вбить в куку авторизация не отрабатывает
У тебя addSessionContext автоматически перезаполняет куку. Зачем ты ее еще раз заполняешь?
Евгений
$headers = 'From: webmaster@example.com' . "\r\n" - вот сюда пропиши еще почту noreplay@твойдомен
Саша
может придти в папку спам, поскольку тут подделываеться заголовок
да дело в том что письмо даже не отправляется
Ilya
У тебя addSessionContext автоматически перезаполняет куку. Зачем ты ее еще раз заполняешь?
какую куку, я в консоли чекаю, мою куку он перезаполняет?
Евгений
какую куку, я в консоли чекаю, мою куку он перезаполняет?
у меня в одном проекте такой автологин тсоит $modx->user = $user; $modx->user->addSessionContext($modx->context->key); $modx->getUser($modx->context->key, true);
Николай
Эта команда заполняет куку и все процедуры с сессией юзера выполняет. Ее одной достаточно для авторизации. Даже в админке. Это самый простой способ войти в админку без пароля. Или в лк
Nano.Karmabot.chat
Excellent! webinmd got +1 from ArdiusIlya. 92 karma in total.
Ilya
не глядя
Николай
++
Зря ты конечно
Nano.Karmabot.chat
Splendid! biz87 got +1 from ArdiusIlya. 68 karma in total.