«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Раскрытие возможностей Google OAuth с помощью Passport.js: пошаговое руководство

Раскрытие возможностей Google OAuth с помощью Passport.js: пошаговое руководство

Опубликовано 19 августа 2024 г.
Просматривать:189

Привет, коллеги-разработчики! ? Готовы ли вы повысить уровень своей игры в аутентификацию? Сегодня мы погрузимся в мир Google OAuth 2.0 и узнаем, как его реализовать с помощью Passport.js. Поверьте, ваши пользователи будут вам благодарны за удобный и безопасный вход в систему!

Unlocking the Power of Google OAuth  with Passport.js: A Step-by-Step Guide

Почему Google OAuth 2.0? ?

Прежде чем мы начнем, давайте поговорим о том, почему Google OAuth 2.0 так важен:

1. Удобство для пользователя: больше никаких головных болей из-за «забыл пароль»!
2. Безопасность Fort Knox: используйте первоклассные протоколы безопасности Google.
3. Повышение доверия: пользователи чувствуют себя в большей безопасности, используя свои учетные записи Google.

Звучит хорошо, правда? Давайте начнем!

Шаг 1: готовьтесь! ?️

Во-первых, давайте установим наши инструменты. Запустите свой терминал и запустите:

npm install passport passport-google-oauth2 express-session

Эти пакеты — ваши новые лучшие друзья для реализации Google OAuth 2.0.

Шаг 2. Приключение в консоли разработчика Google ?️

Пришло время настроить проект в консоли разработчика Google. Вот ваша карта сокровищ:

1. Перейдите в консоль разработчика Google.
2. Создайте новый проект (дайте ему крутое имя!).
3. Перейдите в раздел «API и службы > Учетные данные».
4. Нажмите «Создать учетные данные» и выберите «Идентификаторы клиентов OAuth 2.0».
5. Настройте экран согласия (не забудьте улыбнуться значку!).
6. Настройте идентификатор клиента OAuth 2.0 (тип веб-приложения).
7. Добавьте URI перенаправления (например, http://localhost:3000/auth/google/callback).

Совет для профессионалов: храните свой идентификатор клиента и секрет клиента в безопасности. Они как ключи от вашего королевства OAuth!

Шаг 3: Волшебная настройка паспорта ✨

Теперь давайте добавим немного магии Passport.js в наше приложение:

const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20').Strategy;

passport.use(new GoogleStrategy({
    clientID: process.env.GOOGLE_CLIENT_ID,
    clientSecret: process.env.GOOGLE_CLIENT_SECRET,
    callbackURL: "http://localhost:3000/auth/google/callback"
  },
  function(accessToken, refreshToken, profile, done) {
    // Your user-saving logic goes here!
    User.findOrCreate({ googleId: profile.id }, function (err, user) {
      return done(err, user);
    });
  }
));

// Don't forget to serialize and deserialize your users!
passport.serializeUser((user, done) => {
  done(null, user.id);
});

passport.deserializeUser((id, done) => {
  User.findById(id, (err, user) => {
    done(err, user);
  });
});

Шаг 4: путь к успеху ?️

Давайте настроим наши каналы аутентификации:

const express = require('express');
const passport = require('passport');
const app = express();

app.use(passport.initialize());
app.use(passport.session());

// The gateway to Google OAuth
app.get('/auth/google',
  passport.authenticate('google', { scope: ['profile', 'email'] })
);

// Welcome back! Handle the callback
app.get('/auth/google/callback',
  passport.authenticate('google', { 
    successRedirect: '/auth/google/success', 
    failureRedirect: '/auth/google/failure' 
  })
);

// Success and failure destinations
app.get('/auth/google/success', (req, res) => { 
  res.send('Welcome aboard! ?'); 
});

app.get('/auth/google/failure', (req, res) => { 
  res.send('Oops! Something went wrong. ?'); 
});

app.listen(3000, () => {
  console.log('Server is up and running! ?');
});

Шаг 5: Время запуска! ?

Настройте переменные среды (GOOGLE_CLIENT_ID и GOOGLE_CLIENT_SECRET), и все готово к старту!

node app.js

Перейдите по адресу http://localhost:3000/auth/google и наблюдайте, как происходит волшебство!

Подведение итогов ?

И вот оно, ребята! Вы только что внедрили Google OAuth 2.0 с помощью Passport.js. Теперь ваши пользователи могут входить в свои учетные записи Google, наслаждаясь простой и безопасной работой.

Помните, это только начало. В производственное приложение вам может понадобиться добавить больше функций, например:

  • Правильная обработка ошибок
  • Хранение пользовательских данных в базе данных
  • Дополнительные параметры аутентификации

Вы пробовали использовать OAuth в своих проектах? С какими проблемами вы столкнулись? Пишите свои мысли в комментариях ниже – мне бы хотелось услышать о ваших приключениях в стране аутентификации!

Удачного программирования, и пусть ваш вход в систему всегда будет гладким! ??‍??‍?

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/vyan/unlocking-the-power-of-google-oauth-20-with-passportjs-a-step-by-step-guide-2409?1Если есть какие-либо нарушение, пожалуйста, свяжитесь с [email protected], чтобы удалить
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3