Как разобраться с авторизацией в Node.js?

Прохожу курс от learn.js.ru по node.js (оффлайн).
Дошел до урока про авторизацию, конкретно объясняется работа с passport.js.
До этого урока мне казалось что все топики были сложными, но теперь мне кажется что все что было до этого, было детским лепетом.
В общем я вообще не представляют как разобраться в этой теме.
Автор курса сразу же начал показывать код разбитый на ~10 модулей...какие то сессии, работа с mongoose, сериализация, десериализация, криптография, стратегии, работа с passport и т.д.
Я за 40 минут вещания вообще ничего не понял, абсолютно ничего. Первый раз такое, что вообще запутался и ничего не понял.
Пробовал поискать другие туторы на русском, видео, статьи, но ничего путного не нашел, инфа практически отсутствует.
Что делать, не знаю. Реально уже руки опускаются, хз как дальше продвигаться. Ступор конкретный.

Как во всем этом разобраться?
  • Вопрос задан
  • 2347 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Abcdefgk
Ну, запугали человека - криптография-шриптография.
Модуль passport - для того и готовый модуль, что он сам всю эту криптографию-шмиптографию сделает. Просто нужно освоить несколько пунктов.
1. Установить в проект и настроить модули express-session и coockie-parser
Без них passport не будет работать - а в чём же будет тогда смысл его работы, если он в сессию и записывает юзера после регистрации.авторизации? ("сессия" - это специальный подобъект в объекте request - req.session - куда passport сам вписывает под-объект user после авторизации)
2. Разобраться, что passport - это общий модуль, который обеспечивает работу дополнительных модулей, в которых содержатся, как раз, всякие разные стратегии авторизации - локальная стратегия, через Фейсбук (passport-facebook), через Гугол (passport-google-oauth) и т.д.
3. Для авторизаций через соцсети нужно в каждом случае поразбираться, как в них создавать "приложения" - оттуда для стратегий нужно будет брать ID юзера и Key, которые эти доп-модули будут запрашивать.
4. Создаётся один большой файл-модуль для авторизации - типа auth.js - куда реквайрится сам passport плюс реквайрятся нужные (по желанию) стратегии. Типа вот так выглядит верхушка файла:
var passport = require('passport')
, FacebookStrategy = require('passport-facebook').Strategy
, GoogleStrategy = require('passport-google-oauth').OAuth2Strategy;
и для каждой из стратегий пишется код, который уже весь есть в документации модуля passport - его нужно оттуда взять и в нём, конечно, поразбираться. Не в криптографии-шриптогравии, а в этом конкретном коде.
(Ну, и книжку внимательно изучить - я говорил в другом месте, какую)
Ответ написан
Decadal
@Decadal
Я думаю, автор уроков предполагал что у обучающихся уже есть некоторые познания в бэке, потому что объяснение каждой отдельной темы которую вы озвучили, займёт много времени.
Остановитесь на этом уроке, ознакомьтесь отдельно с механизмом сессий, отдельно с шифрованием пароля, и работой с бд, а потом заново его пройдите
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы