На прошлой неделе мы создали простое приложение для входа в систему, в котором есть возможность регистрации и входа после успешной регистрации.
Теперь мы добавили еще одну функцию, то есть регистрацию через Facebook, Twitter и Google. Вы можете войти в систему со своей учетной записью facebook, twitter и google.

Очень скоро мы добавим в это приложение еще несколько функций, например функцию напоминания о днях рождения.

Для аутентификации мы использовали стратегию Passport [промежуточное ПО аутентификации для Node.js].
Чтобы использовать это приложение, извлеките код из https://github.com/knoldus/Node.js_UserLogin_Template. Вам нужно создать Facebook, Twitter и приложение Google.

После этого перейдите в /config/passport.js

Добавьте ключ API и секретный ключ в следующие переменные: -

[code language = ”scala”]
// Аутентификация в Facebook
// Для получения дополнительной информации перейдите на https://github.com/jaredhanson/passport-facebook
var FacebookStrategy = require ('паспорт-facebook'). Стратегия;
var FACEBOOK_APP_ID = ‹ Вставьте сюда свой ключ ›
var FACEBOOK_APP_SECRET = ‹ Вставьте свой секретный ключ сюда ›;

// Аутентификация Twitter
// Для получения дополнительной информации перейдите на https://github.com/jaredhanson/passport-twitter
var TwitterStrategy = require ('паспорт-twitter'). Strategy;
var TWITTER_CONSUMER_KEY = ‹ Вставьте сюда свой ключ ›;
var TWITTER_CONSUMER_SECRET = ‹ Вставьте сюда свой секретный ключ ›;

// Аутентификация Google
// Для получения дополнительной информации перейдите на https://github.com/jaredhanson/passport-google-oauth
var GOOGLE_CONSUMER_KEY = ‹ Вставьте сюда свой ключ ›;
var GOOGLE_CONSUMER_SECRET = ‹ Вставьте сюда свой секретный ключ ›;
var GoogleStrategy = require ('паспорт-google-oauth'). OAuth2Strategy
[/ code]

Теперь запустите следующие команды: -

[code language = ”scala”]
установка npm

приложение узла
[/ code]

Когда вы входите в систему с помощью Facebook / Google, данные пользователя, такие как имя и адрес электронной почты, будут храниться в MongoDB. Поскольку Twitter не возвращает адрес электронной почты пользователя. Таким образом, в MongoDB будет храниться только имя пользователя.