使用 jsonwebtoken 库来生成和验证 JWT
npm install jsonwebtoken
使用 jsonwebtoken 库和您的私钥来生成 JWT。
const jose = require('node-jose');
const jwt = require('jsonwebtoken');
// 异步加载私钥
const privateKeyPem = `-----BEGIN PRIVATE KEY-----
你的私钥内容
-----END PRIVATE KEY-----`;
jose.JWK.asKey(privateKeyPem, 'pem')
.then(jwk => {
// 使用私钥生成 JWT
const token = jwt.sign(
{ data: '要加密的数据' },
jwk, // 使用私钥的 JWK 格式
{ algorithm: 'RS256' } // 使用的签名算法
);
console.log(token);
})
.catch(error => {
console.error('Error generating JWT:', error);
});
使用 jwks-rsa 中间件来自动响应 JWKS 请求
const jwksRsa = require('jwks-rsa');
const jwks = jwksRsa({
cache: true,
rateLimit: true,
jwksRequestsPerMinute: 10, // 根据您的需要设置
jwksUri: 'https://mkjwk.org/your-jwks-uri' // 您的 JWKS 端点
});
// 使用中间件来处理 JWT 验证
app.use(jwt({
secret: jwks.expressJwtSecret( {
cache: true,
requestProperty: 'user',
algorithms: ['RS256']
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。