Node.js身份验证实践:Express-JWT和JSON Web Token的用法
import express from 'express';
import jwt from 'express-jwt';
import jwksRsa from 'jwks-rsa';
// 创建Express应用
const app = express();
// 配置JWT中间件
const checkJwt = jwt({
secret: jwksRsa.expressJwtSecret({
cache: true,
rateLimit: true,
jwksRequestsPerMinute: '5',
jwksUri: 'https://your-auth0-domain.eu.auth0.com/.well-known/jwks.json',
}),
audience: 'Your_API_Identifier',
issuer: 'https://your-auth0-domain.eu.auth0.com/',
algorithm: 'RS256',
});
// 保护路由
app.get('/api/protected', checkJwt, (req, res) => {
res.send('Hello World!');
});
// 启动服务器
app.listen(3001, () => {
console.log('Server listening on port 3001');
});
这段代码演示了如何在Express应用中使用express-jwt
和jwks-rsa
来保护一个API端点,只允许使用正确的JWT访问。在实际应用中,你需要替换Your_API_Identifier
和your-auth0-domain.eu.auth0.com/
为你的Auth0配置信息。
评论已关闭