jwt - 当令牌的签名无效时,Passport 的 JWT 策略会发生什么?
问题描述
在护照的文档中,我们有以下策略配置的示例,但是如果 jwt 签名无效会发生什么,我们的回调甚至会被调用吗?
var JwtStrategy = require('passport-jwt').Strategy,
ExtractJwt = require('passport-jwt').ExtractJwt;
var opts = {}
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = 'secret';
opts.issuer = 'accounts.examplesoft.com';
opts.audience = 'yoursite.net';
passport.use(new JwtStrategy(opts, function(jwt_payload, done) {
User.findOne({id: jwt_payload.sub}, function(err, user) {
if (err) {
return done(err, false);
}
if (user) {
return done(null, user);
} else {
return done(null, false);
// or you could create a new account
}
});
}));
解决方案
推荐阅读
- nginx - 在特定数量的请求后在 Varnish-Cache 中缓存资源
- awk - 如何在同一行上 gsed 子字符串的多个实例
- mailchimp - mailchimp 观众没有更新
- javascript - Javascript IF 语句可以处理两个以上的条件吗?
- python - Camelot PDF 尺寸
- c - C 无法正确读取结构中的最后一个属性
- java - 从对象转换为 AWS Kinesis -> Java 无法从 VALUE_NUMBER_FLOAT 令牌中反序列化 `java.util.Date` 的实例
- mysql - 计算每个状态的时间量
- javascript - 如何将数组转换为对象
- php - PHP按钮链接(标题)没有响应