авторизацию через телегу, но без виджета официального от телеги, а через своего бота.
Боты в телеге имеют механизм внешнего связывания, который позволяет передать дополнительные параметры при запуске бота по клику на ссылку вида https://t.me/triviabot?start=кастомный-параметр
Алгоритм вижу такой - при клике на кнопку авторизации через телегу, посылаю запрос на сервер аяксом, сервер создаёт сессию, заношу во временную таблицу session_id, socket_id, ip, useragent и т.д., далее id этой записи возвращаю аяксом обратно во фронтэнд, далее формирую ссылку вида https://t.me/mybot?start=id-записи из результата аякс запроса и программно открываю эту ссылку, чтобы запустилась телега.
Чел нажимает запустить бота, срабатывает хук, в хуке по этому id разбираю его ip, юзерагент и т.д., создаю нового пользователя на основе данных хука, авторизовываю пользователя и отправляю состояние по его socket_id, и на фронте он залогинивается.
Теперь вопрос, я использую express + passport.js для авторизаций, нормально ли будет, если я вручную изменю сессию по её sid и добавлю в data json объект аналогичный оригинальному, который добавляет сам passport?
Не сломается ли авторизация, безопасно ли это и т.д., а то вдруг он хранит состояние где-то в файлах ещё или в памяти, кроме базы?
На юзер агент я бы особо не полагался, больше гимора будет
да это не суть, так для статистики по браузерам и ОС, меня больше интересует безопасно ли так вручную создавать авторизованную сессию паспорта
вопрос актуален, если кто-то делал подобное с паспортом, подсобите, пожалуйста, советом, правильно ли размышляю и безопасно ли создавать авторизованную сессию не средствами самого паспорта, в гугле просто ничего на счёт этого нет, так как случай уникальный, не хочу юзать виджет телеги, на фронте реакт, и куча лишнего кода телеги ни к чему
Обсуждают сегодня