2015-06-20 37 views
6

Pasaport kullanarak bir oauth2 kimlik doğrulamasıyla korunan huzurlu bir nodeJS API geliştiriyorum. Bu durumda Kimlik doğrulaması için pasaportu manuel olarak arayın

var express = require('express'); 
    var passport = require('passport'); 
    var port = process.env.PORT || 8080; 
    var app = express(); 

    app.use(passport.initialize()); 

    // Create our Express router 
    var router = express.Router(); 
    var creatureController = require('./controllers/creature'); 

    router.route('/creature').get(passport.authenticate('accessToken', {session: false}), creatureController.getProfile); 

, rota korunur ve yönlendirmek için erişim geçerli bir simge gönderir gerektirir.

Kimlik doğrulama yapmak istediğim kullanıcının kullanıcı adını ve parolasını alan bir işlevi çağırarak, "kullanıcılarımı" el ile doğrulamak için bir yol bulmak istiyorum.

+0

Kullanıcılarınızı el ile doğrulamak istiyorsanız, neden pasaport kullanıyorsunuz? –

+0

Sanırım "authenticate" yöntemini el ile çağırmak demektir. –

cevap

8

Passport, kullanıcının el ile giriş yapması için kullanılabilecek req.login() işlevini ortaya çıkarır.

app.post('/login', function (req, res, next) { 
    var user = User.findOrCreate(req.body); 
    // … your authentication or whatever 
    req.login(user, function(err){ 
     if(err) return next(err); 
     res.redirect('/home'); 
    }); 
});