代码之家  ›  专栏  ›  技术社区  ›  Abidh

身份验证总是失败

  •  0
  • Abidh  · 技术社区  · 7 年前
    var express = require('express');
    var passport = require('passport');
    var router = express.Router();
    
    var User = require('../models/authentication');
    var todo_controller = require('../controllers/todoController');
    var auth_controller = require('../controllers/authController');
    
    var BasicStrategy = require('passport-http').BasicStrategy;
    
    
    passport.use(new BasicStrategy(
     function (username, password, done) {
        User.findOne({ clientId: username }, function (err, user) {
         if (err) {
            return done(err);
          }
         if (!user) {
        return done(null, false);
          }
          if (user.clientSecret != password) {
            return done(null, false);
          }
          return done(null, user);
         });
      }
    ));
    
    router.post('/api/me',
      passport.authenticate('basic', { session: false }),
      function (req, res) {
        res.json(req.user);
      });
    
    
    
    module.exports = router;
    

    我使用的是express js、mongoose和passports。 这是路由器。js文件。身份验证不起作用,它总是返回“unauthorized”。这是使用护照的正确方法吗。。我找不到一个容易使用passport的推荐人。

    0 回复  |  直到 7 年前
    推荐文章