@AndrewRusinas

Создание аутентификации на Vue+Express?

Не могу понять, что и где использовать, для создания аутентификации/авторизации, когда отдельно API на Express, и клиент на Vue.
Нужен Passport.js, но какую стратегию использовать? Passport-local или passport-jwt? Если jwt, то в каком месте передавать токен? Можно ли без jwt? Как его проверять? Нужен ли Vuex, или для создания простой аутентификации можно обойтись без него? Перелопатил кучу уроков, но внятного мало. Создал простенькую регистрацию, хеширую пароли и всё. На авторизации стопорюсь уже раз в третий, после чего откладываю этот вопрос. Хотя это самое интересное в разработке)

Основной затык сейчас с passport.js именно в роуте логина.
app.post('/profile', passport.authenticate('jwt', { session: false }),
    function(req, res) {
        res.send(req.user.profile);
    }
);

Мне совершенно непонятно, где он здесь должен принимать учетные данные для проверки. По виду какая-то магия - passport.authenticate => ВЖУХ => вы вошли. :/

Да, есть отдельный файл passport.js, но там всё еще страшнее.
  • Вопрос задан
  • 1646 просмотров
Пригласить эксперта
Ответы на вопрос 3
lavezzi1
@lavezzi1
Вот вариант как реализовать авторизацию на стороне Vue – https://medium.com/@pavelgonzales/best-practices-%...

Тоже самое можно легко найти по Express. И отталкиваться от ваших нужд.
Ответ написан
Комментировать
MDiMaI666
@MDiMaI666
Талантливый программист
jwt сложнее, куки проще и работают везде
Ответ написан
Комментировать
@Renhor
Я сам недавно разбирался с вопросом. Конкретно в вашем куске кода, вы должны с клиента передавать ваш JWT токен, паспорт его расшифровывает, и если он совпадает с нужным пользователем - то вы прошли авторизацию. При этом, насколько я понял, подделать этот токен, не зная секретного ключа - нельзя, только украсть.

Подробные уроки, которые помогли мне - Здесь

Примерно с 42-43 урока
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы