我的问题的关键是PassportJS 似乎正在验证 JWT,当当前时间超过 exp 参数时,该 JWT 应该是无效的。
我已经提供了相关的代码片段以及我认为应该发生的事情的解释(尽管显然不是!!)
// In server.js
// ...
const passport = require("passport");
// ...
require("./config/passport")(passport);
app.use(passport.initialize());
// ...
Run Code Online (Sandbox Code Playgroud)
// In token.js (used to issue JWT)
const jsonwebtoken = require("jsonwebtoken");
// ...
const issueJWT = (user) => {
const _id = user._id;
const expiresIn = 30000; // 30s for testing purposes
const payload = {
sub: _id,
iat: Date.now(),
};
const signedToken = jsonwebtoken.sign(payload, PRIV_KEY, {
expiresIn: expiresIn,
algorithm: "RS256",
});
return …Run Code Online (Sandbox Code Playgroud)