Научная статья на тему 'JS языка программирования библиотеки Node JS'

JS языка программирования библиотеки Node JS Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
274
69
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
NODE JS / PASSPORT JS / WEB-ПРОГРАММИРОВАНИЕ / JAVASCRIPT / АВТОРИЗАЦИЯ / AUTHORIZATION / АУТЕНТИФИКАЦИЯ / AUTHENTICATION / WEB-DEVELOPING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Васильев Петр Алексеевич

В статье предлагаются сведения о библиотеке Passport JS. О ее достоинствах и недостатках в использовании на web-приложениях. Основные методы и использование библиотеки в реальных условиях.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Васильев Петр Алексеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «JS языка программирования библиотеки Node JS»

Passport JS library of programming language Node Passport JS Vasilev P. (Russian Federation) JS языка программирования библиотеки Node JS Васильев П. А. (Российская Федерация)

Васильев Петр Алексеевич / Vasilev Petr - студент, кафедра информационных технологий, институт математики и информатики, Северо-Восточный федеральный университет, г. Якутск

Аннотация: в статье предлагаются сведения о библиотеке Passport JS. О ее достоинствах и недостатках в использовании на web-приложениях. Основные методы и использование библиотеки в реальных условиях.

Abstract: in article there is information about library Passport JS. His strengths and weaknesses in using on web-applications. Main things and using of library in real life.

Ключевые слова: Node JS, Passport JS, Web-программирование, JavaScript, авторизация, аутентификация.

Keywords: Node JS, Passport JS, Web-developing, JavaScript, authorization, authentication.

Каждый разработчик web-приложения рано или поздно сталкивается с такой проблемой, как авторизация и аутентификация пользователя. Сегодня любое web-приложение не обходиться без него и имеет ряд функций, которые доступны только для авторизованных пользователей. Что такое авторизация? Авторизация [1] - это предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки данных прав при попытке выполнения этих действий. До недавнего времени программисты разрабатывали свои системы авторизаций. Но в последнее время появились множество готовых решений. Одним из самых популярных библиотек для языка программирования Node JS сейчас является библиотека Passport JS.

Passport JS - это готовое и надежное решение для реализации авторизации и аутентификации в web-приложении, построенном на Node JS. Документация Passport JS описывает его как «простое, компактное связующее приложение аутентификации для Node» и это верно. Самым главным, что предоставляет нам эта библиотека, является не только обычная авторизация с помощью логина и пароля, но и авторизация с помощью социальных сетей, таких как Facebook, Google, Twitter, Vkontakte и т. д. Библиотека имеет около 140 механизмов аутентификаций, которые можно включить для своего приложения.

Библиотека использует функции, которые называются стратегиями. Для каждого механизма описывается отдельная стратегия и вызывается отдельно в роутере. Например, локальная стратегия через имя пользователя и пароль: passport.use (new LocalStrategy({ usernameField: 'email', passwordField: 'password' }, function(username, password,done){ // описывается стратегия... }));

Эта стратегия используется в роутере, например /auth/login: app.post ('/auth/login',

passport.authenticate('local'), function(req, res) { //успешное выполнение }); Для каждой стратегии требуется установить отдельный модуль, например, passport -google, passport - facebook, passport - vkontakte и т. д. Каждый сервис использует такую технологию, как OAuth2. OAuth2 [1] - это открытый протокол авторизации, который позволяет предоставить третьей стороне ограниченный доступ к защищённым ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль. То есть

разработчик может внедрить в своё приложение эту технологию. Тогда пользователи смогут авторизоваться с помощью других сервисов без необходимости пароля и имени пользователя.

Passport JS прекрасно справляется с OAuth2 и имеет готовое решение. Для каждого сервиса разработчик должен создать приложение внутри сервиса и дать доступ к своему приложению. Для этого он использует специальный секретный ключ и идентификатор приложения. Каждый раз при необходимости использования каких-нибудь данных пользователя, который авторизовался с помощью OAuth2, Passport JS отправляет запрос вместе с этими ключом и идентификатором. Сервис проводит валидацию запроса и передает данные пользователя приложению. При регистрации пользователь должен будет войти в свой аккаунт стороннего сервиса и дать разрешение на использование его данных приложению.

Всё описанное выше программисты разрабатывали сами, но с приходом Passport JS это всё стало автоматизированной системой. Требуется лишь реализовать стратегию сохранения данных пользователя в базе данных или в оперативной памяти.

Passport JS является очень хорошим инструментом для облегчения и упрощения работы разработчика и сокращении времени на написание объемного кода.

Литература

1. Этан Броун. Web-development with Node & Express - Москва, 2010.

i Надоели баннеры? Вы всегда можете отключить рекламу.