Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.05.2015, 23:07
203 203 вне форума
Новичок на форуме
Отправить личное сообщение для 203 Посмотреть профиль Найти все сообщения от 203
 
Регистрация: 21.04.2013
Сообщений: 9

аутентификация 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" : {
    "express": ">= 0.0.0",
    "ejs": ">= 0.0.0",
    "passport": ">= 0.0.0",
    "passport-google-oauth": ">= 0.0.0",
    "body-parser": "~1.0.0",
    "debug": "~0.7.4"
  }
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google Maps - ищется алгоритм обхода ремонтных участков дорог stankhat Оффтопик 0 06.02.2015 17:12
Вопрос к знатокам google apps script gtr-kaz Общие вопросы Javascript 3 22.10.2014 08:31
Нужен скрипт для работы через Google Script (Spreadsheets) Satmax Работа 0 13.08.2014 16:55
Написание javascripta в Google !! ssvorg Общие вопросы Javascript 0 23.05.2013 16:04
эмитировать перемещение google map amigo* Элементы интерфейса 3 18.07.2010 18:24