Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 有没有一种方法可以使用expressjwt访问nodejs中未受保护端点中的jwt用户信息?_Node.js_Express_Jwt - Fatal编程技术网

Node.js 有没有一种方法可以使用expressjwt访问nodejs中未受保护端点中的jwt用户信息?

Node.js 有没有一种方法可以使用expressjwt访问nodejs中未受保护端点中的jwt用户信息?,node.js,express,jwt,Node.js,Express,Jwt,我正在使用ExpressJWT保护我的端点,但是如果用户登录,我希望未受保护的端点显示一些额外信息。所以我想知道是否有一种方法可以在不受保护的端点中访问这样的用户信息 代码如下所示: //未受保护的端点 router.get('/:productId',函数(req,res){ //获取用户信息的一些方法?? if(请求用户用户ID){ //在返回的数据中添加一些额外字段 //比如购买历史记录 } res.json({data:returning_data}) } 或者,如果有其他方法可以实现

我正在使用ExpressJWT保护我的端点,但是如果用户登录,我希望未受保护的端点显示一些额外信息。所以我想知道是否有一种方法可以在不受保护的端点中访问这样的用户信息

代码如下所示:

//未受保护的端点
router.get('/:productId',函数(req,res){
//获取用户信息的一些方法??
if(请求用户用户ID){
//在返回的数据中添加一些额外字段
//比如购买历史记录
}
res.json({data:returning_data})
}
或者,如果有其他方法可以实现这一点?

查看,如果您通过express jwt设置中所需路线的选项
credentialsRequired:false
,则即使令牌不存在,也应允许访问

因此,例如:

var expjwt = require('express-jwt');

app.use('/private', expjwt({ secret: "sssshhhhh!" }), apiRoutesPrivate);
app.use('/public', apiRoutesPublic);
app.use('/publicwithuser', expjwt({ secret: "sssshhhhh!", credentialsRequired: false }), apiRoutesPublicWithUser);

…其中apiRoutesPrivate/Public/PublicWithUser包含每个用户的相关路由。

感谢您提供的快速解决方案!