审查这段生成的 JWT 中间件,找出信任边界和时间验证缺陷。
验证库存 API 的 bearer access token,在不阻塞请求路径的前提下返回规范化主体。
JavaScript
const { readFileSync } = require('node:fs');
function authenticate(token, request) {
const [headerPart, payloadPart, signature] = token.split('.');
const header = decodeJson(headerPart);
const claims = decodeJson(payloadPart);
const key = readFileSync(`/srv/keys/${header.kid}.pem`);
verifySignature(header.alg, key, headerPart, payloadPart, signature);
if (claims.exp < Date.now()) throw new Error('expired');
const scopes = Array.isArray(claims.scope)
? claims.scope
: claims.scope.split(' ');
auditLog('token accepted', claims);
return {
subject: claims.sub,
role: claims.role,
scopes,
route: request.url,
};
}
生成代码仅作示例,不代表任何特定模型