Passport.js and JWT
Agenda
Знакомство с Passport.js
Несколько слов о JWT
Пример авторизации на Passport.js
What is passport
Authentication middleware для Node.js приложений, построенных с использованием express фреймворка
Очень гибкая и модульная библиотека
Можно выбрать одну из 300+ реализованных стратегий
How to start
Подключить passport module и проинициализировать его
Сконфигурировать одну из выбранных стратегий аутентификации
Настроить роуты для аутентификации
Настроить защиту для остальных роутов (при необходимости)
What was before JWT
POST запрос на сервер с какими-либо данными о пользователе (например, username и password)
Response с пользовательскими данными и отдельно сгенерированный сервером токен
Последующие запросы на сервер с предоставленным токеном
Auth with JWT
Decoding compact JWT token
Pros
Большая популярность, следовательно, существует множество библиотек для реализации аутентификации на основе JWT токенов
Позволяет реализовать единую систему аутентификации для различных сервисов
Содержит в себе полезную для клиента информацию в виде JSON
Токен достаточно компактен
Cons
Один токен управляет доступом ко всем сервисам
Трудности в реализации более безопасной системы аутентификации с использованием refresh токенов
Using refresh tokens
Authentication example
WEBSOCKET
What was before websockets
Ajax (частый полинг)
Comet (длинный полинг)
JSONP
Websocket in use
Libraries
Implementation example
Made with Slides.com