я ж как бы и не говорю что jwt норм, я вообще мало что понимаю в аутентификации(у меня понимание на уровне "ну вот есть какой-то айдишник чтоб различать от кого запрос, а дальше мы его либо куками передаем, либо еще как-то")
Мой совет.
На этапе “я не пользую фреймворки” сделай логин на куках и кроме этого попробуй передать кастомные хедеры.
На этапе “я взял какой-то фреймворк, но использую его только для раутинга” можешь начать экспериментировать с JWT. Но не лезь сразу в Passport или его аналоги, а возьми что-то ниже уровнем.
Хороший вариант - пакеты с названием <имя-фреймворка>-jwt. Например,
https://github.com/auth0/express-jwtТам видно, что добавляется в нужных местах какая-то прослойка, кода минимум и по делу, и нет архитектурных выкрутасов со стратегиями, визиторами и тд.