小编Car*_*los的帖子

如何让用户登录?是否可以使用ExpressJS和Passport?

我在node.js中有一个服务器,使用快递和护照与passport-local策略.

我有数据库中的用户和通过护照我能够对它们进行身份验证,不幸的是当第二个请求来自同一客户端时该req.isAuthenticated()方法返回false.request(req.user = undefined)中也没有用户.

我也检查过,当我进行身份验证时,虽然我从用户那里回来了,但passport.authenticate('local'...我还是没有req.user填充.如果我尝试手动设置它,它就不会传播以用于后续请求.

我不明白我做错了什么,这是我的代码.

server.js

var express = require('express'),
compass = require('node-compass'),
routes = require('./server/routes')
http = require('http'),
path = require('path'),
passport = require('passport'),
LocalStrategy = require('passport-local').Strategy,
Database = require('./server/repositories/database'),
Configuration = require('./server/config').Config,
crypto = require('crypto');

var app = express();

app.enable("jsonp callback");

passport.use(new LocalStrategy(
  function(email, password, done) {
    process.nextTick(function () {
      var userService = new UserService();
      userService.login(email, crypto.createHash('md5').update(password).digest("hex"), function(error, user) {
        if (error) done(error, user);
        else …
Run Code Online (Sandbox Code Playgroud)

node.js express passport.js

4
推荐指数
1
解决办法
3990
查看次数

标签 统计

express ×1

node.js ×1

passport.js ×1