【问题标题】:Manually call passport for authentication手动调用护照进行身份验证
【发布时间】:2015-09-06 07:36:13
【问题描述】:

我使用护照开发了一个受 oauth2 身份验证保护的 restful nodeJS API。

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

在这种情况下,路由受到保护,需要发送有效令牌才能访问路由。

我想找到一种方法来手动验证我的“用户”,方法是调用一个函数,该函数采用我要验证的用户的用户名和密码。

【问题讨论】:

  • 如果你想手动验证你的用户,那你为什么要使用护照?
  • 我认为他的意思是手动调用authenticate 方法。

标签: node.js passport-local


【解决方案1】:

Passport 公开了一个req.login() 函数,可用于手动登录用户。

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

【讨论】:

    猜你喜欢
    • 2016-10-02
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 2014-08-18
    • 2016-01-19
    • 2020-07-18
    相关资源
    最近更新 更多