11

パスポートを使用して oauth2 認証で保護された安らかな 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);

この場合、ルートは保護されており、ルートにアクセスするには有効なトークンを送信する必要があります。

認証したいユーザーのユーザー名とパスワードを取得する関数を呼び出して、「ユーザー」を手動で認証する方法を見つけたいと思います。

4

1 に答える 1

14

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');
    });
});
于 2015-06-20T13:18:53.047 に答える