Ну, запугали человека - криптография-шриптография.
Модуль 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 - его нужно оттуда взять и в нём, конечно, поразбираться. Не в криптографии-шриптогравии, а в этом конкретном коде.
(Ну, и книжку внимательно изучить - я говорил в другом месте, какую)