Таймураз
Кстати, вопрос возникает при этом Можно ли по зашифрованной строке узнать, каким шифром она была сгенерирована?
Таймураз
В JWT же, вроде, явно указывается тип шифра
Kons
Ну само знание алгоритма мало что дает. Вот HTTPS тоже сообщает, какой алгоритм используется.
Kons
Да и в простом случае в JWT не шифр, а хеш
Kons
Ознакомился с таблицей, которую @ChALkeR скинул. Теперь меня смущает возможноть любого скрипта увидеть токен, лежащий в локальном хранилище :)
Kons
Не решается ли часть проблем с JWT, если для веб-клиентов держать токен в куке?
Таймураз
Не решается ли часть проблем с JWT, если для веб-клиентов держать токен в куке?
имхо, лучше написать свое решение, чем использовать JWT
Таймураз
Может, на ноде уже реализовано что-то свое
Evgeny
Канэш, надо всегда все делать своё. Нафиг стандарты и известные решения
Nurik
Всем привет есть ли готовый модуль для управления форматом вывода ресурсов для каждой модели ? Чтобы можно было регулировать какие поля показывать а какие нет по дефолту.
Nurik
фреймворк express
Nurik
Нужен аналог типа fields из yii2
Anton
тебе нужно просто убрать некоторые поля из выдачи типа?
👨🏼‍💻
Что можешь предложить лучше JWT?
сейчас начнётся про Bearer
👨🏼‍💻
srp 6 ?
ладно, не начнётся :)
Ilnur
ахаха
Таймураз
srp 6 ?
Отлично, есть что почитать
Ilnur
Пишу как раз модуль. Вернее взял srp 6 от мозилы и пытаюсь ее совместить с jwt. Если смогу подтвердить свою гипотезу, то будет модуль.
👨🏼‍💻
Что можешь предложить лучше JWT?
чем тебя ЖВТ не устраивает? Отличная же штука!
Ilnur
чем тебя ЖВТ не устраивает? Отличная же штука!
нормальная библиотека, не спорю
Таймураз
чем тебя ЖВТ не устраивает? Отличная же штука!
Тем, что данные может прочесть кто угодно
Таймураз
какие данные??? хэш?
JWT токен в открытом виде хранит данные внутри него Они не зашифрованы
👨🏼‍💻
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
👨🏼‍💻
я не уверен, что не зашифровано :)
Ilnur
какие данные??? хэш?
Народ не вдупляет разницу между авторизацией, аутентификацией и то что данные с этим связаны конечно, но хотят чтобы и сессия была закрыта. + О теоретической возможности посредничества не думают. Вот и получаются что либы гавно)))
Таймураз
{ "sub": "1234567890", "name": "John Doe", "admin": true }
Таймураз
и что тебя смущает?
Потенциальной возможностью бездумно добавить туда что-то лишнее
Ilnur
Потенциальной возможностью бездумно добавить туда что-то лишнее
добавь соль и поменяй алгоритм шифрования, почитай ман к либе
👨🏼‍💻
Потенциальной возможностью бездумно добавить туда что-то лишнее
Ты канечно не принимай на свой счет, но ты понимаешь что такое токен, когда и как он создаётся и что вообще должен в себе хранить?
Kons
Потенциальной возможностью бездумно добавить туда что-то лишнее
Если добавить что-то в токен, то он перестанет валидироваться
Kons
Для этого нужна третья часть токена
👨🏼‍💻
А ниче, что самій распространённый случай, это геннерить ключ юиидом?
👨🏼‍💻
он гарантированно тебе сгенерит уникальный ключь
Таймураз
Прогер, который не знает, как хранит JWT данные (прим. в открытом виде), может передать на клиент закрытую инфу. Какую-хз. Как ее добыть- тоже не буду распространяться, это уже другой вопрос. Но как факт, кто-то может положить туда то, что не должно быть там
Kons
Это понятно. То же самое можно сказать о данных, которые возвращает любой API.
👨🏼‍💻
и политики можно написать нормальные
Таймураз
Можно добавить добавить и срок хранения ключа, и еще где-нибудь чем-нибудь обмазаться, но имхо- это равноценно дыре
Dima
Тем не менее
Как тем не менее? Ведь сам себе злой буратино, если положил в пейлод пароль)
Dmitry
ребят у меня такой вопрос
Dima
Есть еще такая штука как JWE
Dmitry
у меня сервер отдает 400 если протух токен, но потом дальше кидает на другой обработчик что выдает 500 всегда при последующих даже нормальных запросах
Dmitry
как избежать этого?
Dmitry
есть jwt
Dmitry
клиент юзает его
Dmitry
если он протух, сервер отдает 400 что-то типа того
Dmitry
сервер на express
Kons
Есть еще такая штука как JWE
In fact a JWT does not exist itself — either it has to be a JWS or a JWE (JSON Web Encryption). Its like an abstract class — the JWS and JWE are the concrete implementations.
Dima
сервер на express
Токен ты проверяешь руками? Или какой-нибудь passport.js?
Dmitry
jwt-simple
Dima
jwt-simple
Получается ты сам написал какой-то middleware и имеешь полный контроль, какие http коды отдавать?
Dmitry
да слушай глянул код...тут 500 отдаю
Dmitry
ща сам посмотрю без кода как
Таймураз
Как тем не менее? Ведь сам себе злой буратино, если положил в пейлод пароль)
Так я к этому и клонил всю беседу, что нужно предложить злым буратино такой же простой вариант, но более безопасный
Anonymous
Вопрос по организации кода. Есть 3 десятка моделей, примерно столько же менеджеров для них, и 3 запчасти сервера: RESTful API, Socket.IO API и несколько воркеров, которые смотрят за Redis и ZMQ. Всё это живёт под PM2 как отдельные процессы (с кластеризацией). Сейчас добавилось несколько разработков в проект и количество обновлений не позволяет ручками git pull & pm2 restart $module. Если оставить всё как сейчас, в одном репозитории, то при коммите изменения в HTTP API будет пересобираться и рестартовать Socket.IO, а это не хорошо: после обрыва соединения надо подгрузить много данных и т.д. Короче, Socket.IO лучше рестартовать по минимуму. Вопрос: как разнести это по отдельным репозиториям, но при этом корректно утянуть модели? Git submodules VS NPM git modules? Submodules как то не хочется использовать, больно это. А с NPM не получится быстро и удобно обновлять модели (поправил строчку, рестартанул dev-server). Плюс если они из git подключаются, то у yarn с их обновлением проблемки есть.
Nurik
Подскажите что делает метод sync() в sequelize ? Применяют его как для моделей, так и для соединения в целом. Что он делает ?
Nurik
В доке наприсано: Sync all defined models to the DB. Вот что значит Sync ? Что при этом происходит ?
Andrew Kiselev
Ребят, кто работал с parse server? Какие впечатления?
Andrew Kiselev
Тот который закрыли это parse, а parse server - это то что выложили в общий доступ
Andrew Kiselev
Теперь можно взят исходный код parse и развернуть у себя
Дима
У меня на одном проекте был
Igor
Господа а подскажите деплоймент тулзу
Дима
Да
Igor
чем пользуетесь лично
Pavel
чем можно сгенерить доку для rest api?
Vyacheslav
Кто может подсказать, какие есть знаменитые сайты, работающие по WebSockets?
Evgeniy 🍀
чем можно сгенерить доку для rest api?
Ну тут смотря на чём он проектировался. Я сваггер юзаю (http://swagger.io/)
Evgeniy 🍀
https://github.com/swagger-api/swagger-codegen