我已经阅读passport.js了两天的信息和样本,但不确定此后是否完成了所有身份验证过程。
passport.js
我怎么知道我是否已登录,例如,我将有一个带有登录或注销按钮的导航栏,下面是否有一些变量,如代码?
if (login) <button>logout</button> else <button>login</button>
如果用户已登录,passport.js则将为中的每个请求创建一个user对象,您可以检查任何中间件是否存在:req``express.js
user
req``express.js
if (req.user) { // logged in } else { // not logged in }
您可以express.js为此创建简单的中间件,该中间件将检查用户是否已登录,如果没有,则将重定向到/login页面:
express.js
/login
function loggedIn(req, res, next) { if (req.user) { next(); } else { res.redirect('/login'); } }
并使用它:
app.get('/orders', loggedIn, function(req, res, next) { // req.user - will exist // load user orders and render them });