аутентификация google аккаунт
Здравствуйте. Помогите пожалуйста решить такую задачу: нужно пройти аутентификацию google аккаунта с помощью node.js
Пробовал использовать модуль "passport-google-oauth", но не получается это реализовать. Вот что есть (node.js знаю плоховато, так что буду рад вашей помощи) var express = require('express') , passport = require('passport') , util = require('util') , GoogleStrategy = require('passport-google-oauth').OAuth2Strategy; // API Access link for creating client ID and secret: // [url]https://code.google.com/apis/console/[/url] var GOOGLE_CLIENT_ID = "842462716038-vpkq7mm00qb7b852uq7hbg48gqkpl8i8.apps.googleusercontent.com"; var GOOGLE_CLIENT_SECRET = "xyUpvFvXAUdgDZ4AMYaNnx"; passport.serializeUser(function(user, done) { done(null, user); }); passport.deserializeUser(function(obj, done) { done(null, obj); }); passport.use(new GoogleStrategy({ clientID: GOOGLE_CLIENT_ID, clientSecret: GOOGLE_CLIENT_SECRET, callbackURL: "http://127.0.0.1:3000/auth/google/callback" }, function(accessToken, refreshToken, profile, done) { process.nextTick(function () { return done(null, profile); }); } )); var app = express.createServer(); // configure Express app.configure(function() { app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use(express.logger()); app.use(express.cookieParser()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.session({ secret: 'keyboard cat' })); // Initialize Passport! Also use passport.session() middleware, to support // persistent login sessions (recommended). app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.get('/', function(req, res){ res.render('index', { user: req.user }); }); app.get('/account', ensureAuthenticated, function(req, res){ res.render('account', { user: req.user }); }); app.get('/login', function(req, res){ res.render('login', { user: req.user }); }); app.get('/auth/google', passport.authenticate('google', { scope: ['https://www.googleapis.com/auth/plus.login'] }), function(req, res){ }); app.get('/auth/google/callback', passport.authenticate('google', { failureRedirect: '/login' }), function(req, res) { res.redirect('/'); }); app.get('/logout', function(req, res){ req.logout(); res.redirect('/'); }); app.listen(3000); function ensureAuthenticated(req, res, next) { if (req.isAuthenticated()) { return next(); } res.redirect('/login'); } Вот package.json Код:
"dependencies" : { |
Часовой пояс GMT +3, время: 06:04. |