如何使用SQL ServerconfigurationPassportjs?

我正在写一个基于SQL Server ,ExpressJs,NodeJS,AngularJs的应用程序,我是一个快速初学者,我需要处理会话,所以我一直在思考PassportJs,我无法find文档集成SQL Server与PassportJs,所以我很困惑,我一直在尝试,但我还没有得到它,我用快速生成器我的应用程序,所以这是我的app.js

护照要求:

var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var session = require('express-session'); 

路线:

 var routes = require('./routes/index'); var login = require('./routes/login'); 

快递会话:

 app.use(session({secret: 'xXxXxXXxX'})); app.use(passport.initialize()); app.use(passport.session()); app.use('/', routes); app.use('/login', login); 

护照INIT:

 var initPassport = require('./r12_modulos/sesion/passport-init.js'); initPassport(passport); 

这是我在passport-init.js

 var conex = require('../conexion_bd/conex_mssql.js'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; module.exports = function () { passport.serializeUser(function (user, done) { console.log('serializing user:', user.username); done(null, user.username); }); passport.deserializeUser(function (username, done) { done(null,username); }); passport.use('login', new LocalStrategy({ passReqToCallback: true }, function (req, username, password, done) { var _cParameters = []; _cParameters.push({ name: 'usuario', type: 'VarChar', value: username }); _cParameters.push({ name: 'password', type: 'NVarChar', value: password }); conex.sp_recordset(conex.mssql_conect, 'dbo.sp_sis_loginR12', _cParameters, function (data) { if (data[0].response == 1) { return done(null, data[0].usuario); } else { return done(null, false); } }); } )); }; 

正如你可以看到我已经写了一个模块来执行SQL Server存储过程,当我在互联网上searchpassportjs通常与Mongo集成,我不知道如何处理passport.serializeUserpassport.deserializeUser函数与SQL Server。

这是我在路由login.js有什么:

 var express = require('express'); var passport = require('passport'); var router = express.Router(); router.post('/', passport.authenticate('login', { successRedirect: '/', failureRedirect: '/login' })); module.exports = router; 

当我发送一个post请求服务器不会返回一个错误,但不要运行我的LocalStrategy。

使用谷歌search我已经find了这篇文章理解passport.js身份validationstream程 ,由于链接说,解释哪个是passportJsstream程,我有一些错误,除非你定义的用户名和密码字段的名称,你必须发送他们的职位像这个req.body.usernamereq.body.password ,这是我的错误之一,我这样处理序列化和反序列化函数:

serializeUser函数

 passport.serializeUser(function (user, done) { console.log('serializing user:', user); done(null, user); }); 

deserializeUserfunction

 passport.deserializeUser(function (username, done) { console.log('deserializing user:', username); done(null,username); });