我已经阅读passport.js了两天的信息和样本,但我不确定在那之后我做了所有的身份验证过程.
我如何知道我是否已登录,例如,我将有一个带登录或注销按钮的导航栏,是否有一些变量如下面的代码?
if (login)
<button>logout</button>
else
<button>login</button>
Run Code Online (Sandbox Code Playgroud) 之前我曾问过类似的问题,但我注意到它出现在Javascript部分.我对现在可能出现的问题有更具体的想法.
基本上,req.session.passport在我的日志中是空的.每当我开始浏览我的网站时,req.user就会变得未定义,因为会话已经没有Passport登录用户了.
我想知道是否有人知道如何解决这个问题?也许这只是Passport配置或整个Express设置中的错误?
App.js:
var express = require("express"),
bodyParser = require("body-parser"),
mongodb = require("mongodb"),
mongoose = require("mongoose"),
uriUtil = require("mongodb-uri"),
morgan = require("morgan"),
session = require("express-session"),
passport = require("passport"),
flash = require("connect-flash"),
ip = "hidden",
port = process.env.PORT || 80
var app = express()
app.disable("x-powered-by")
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}))
app.use(morgan("dev")); // log every request to the console
// required for passport
app.use(session({
secret: "hidden",
key: 'asdasdasd',
cookie: { maxAge: 60000, secure: false },
resave: true,
saveUninitialized: false
})); // …Run Code Online (Sandbox Code Playgroud)