2015-06-20 28 views
6

Tôi phát triển API nodeJS an toàn được bảo vệ bằng xác thực oauth2 bằng hộ chiếu.Tự gọi hộ chiếu để xác thực

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); 

Trong trường hợp này, tuyến đường được bảo vệ và yêu cầu gửi mã thông báo hợp lệ để truy cập tuyến đường.

Tôi muốn tìm cách xác thực "người dùng" theo cách thủ công, bằng cách gọi một hàm, lấy tên người dùng và mật khẩu của người dùng mà tôi muốn xác thực.

+0

Nếu bạn muốn xác thực người dùng theo cách thủ công, thì tại sao bạn sử dụng hộ chiếu? –

+0

Tôi nghĩ anh ấy có nghĩa là bằng cách gọi phương thức 'xác thực' theo cách thủ công. –

Trả lời

8

Hộ chiếu hiển thị hàm req.login() có thể được sử dụng để đăng nhập người dùng theo cách thủ công.

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'); 
    }); 
}); 
Các vấn đề liên quan