(через passport.js, стратегия "passport-local"? Или для подобных веще обязательно использовать JWT?
конечно
Клиентская часть никак не влияет на выбор способов аутентификации. Это всегда ограничения/требования/удобства серверной части
Так разве passport.js это не про серверную и одновременно клиентскую часть? Просто думал JWT правильнее и в плане серверной части для случае SPA (пусть и с SSR). По сути же сервер выдаёт токены и т.п для проверки логина\пароля (при первом заходе (аутентификации) и проверке на доступ к определённым роутам.
Нет, паспорт никак не влияет на клиент, это просто штука для уницифированного подключения стратегий в экспрессовые мидлвары. JWT в принципе не может быть "правильнее", он может быть удобнее или эффективнее в тех или иных ситуациях. Сам JWT - просто формат токена с подписью. Бывают другие форматы токенов с подписью. Бывают разные варианты аутентификации с токеном. Обычному SPA с монолитом на express он не даст ничего нового
Удобнее - например тем что по сути позволяет не делать лишних запросов? Что скажете насчёт безопасности? Читал что в принципе сессии безопаснее (или правильнее сказать новичку их сделать безопаснее проще) чем JWT?
В такой формулировке нельзя сравнивать безопасность. JWT - просто формат токена. С ним может быть по-разному организован процесс аутентификации, в том числе на фронте. Сессии тоже бывают по-разному реализованы. Client-side session мало чем отличается от простейшего варианта с JWT. Собственно только форматом токена и терминами отличается в простейшем случае
Понял, спасибо за развернутый ответ. Как считаете, достаточно ли модуля bcrypt, для шифрования паролей?
Он из не шифрует, а хэширует. Достаточно
Для этого не нужен bcrypt
Обсуждают сегодня