gpt4 book ai didi

javascript - req.user 未定义

转载 作者:行者123 更新时间:2023-12-03 03:28:05 25 4
gpt4 key购买 nike

我想用 NodeJS+Restify 和 PassportJS 编写一个 REST-API 来进行身份验证。当用户登录时,我生成一个 sessionId 并将其存储在我自己创建的 session 中。

var Passport                = require( 'passport' );
var PassportBearerStrategy = require('passport-http-bearer').Strategy;
// Authentication
Passport.use( new PassportBearerStrategy( function( sessionId, cb ) {
Auth.getSession( sessionId, function( userId ){
cb( ( !!userId ), { userId: userId }, userId );
});
}));

server.get(
'/user',
Passport.authenticate( 'bearer' ),
function( req, res, next ){
console.info( req.user ); // undefined
respond( res, {} );
return next();
}
);

一切正常,除了在下面的函数中,req.user未定义。我读到,你必须启用 session 。但我已经实现了自己的 session ,我不需要另一个 session 。
我所需要的是,如果我说 cb( true, user ) 它会到达下面的函数。

有什么办法可以解决这个问题吗?

最佳答案

正如我从this example中的代码中得到的那样回调cb遵循标准 Node 格式,因此将错误作为第一个参数,将用户作为第二个参数。我认为回调是设置 req.user 并管理所有授权后样板的内容。您应该尝试将其称为“cb(null, user)”

关于javascript - req.user 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46218897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com