要确保 Auth0 的访问令牌始终传递给您的 API,可以按照以下步骤进行操作。
在您的 Auth0 管理面板中,导航到“API”部分,然后选择您要配置的 API。
在“API 配置”选项卡中,找到“标识令牌的位置”部分。确保将其设置为“在 Authorization 标头中”。
在您的 API 代码中,您需要验证并提取 Auth0 的访问令牌。
下面是一个使用 Node.js 和 Express 框架的示例代码:
const express = require('express');
const jwt = require('express-jwt');
const jwksRsa = require('jwks-rsa');
const app = express();
// 配置 JWT 中间件
const jwtMiddleware = jwt({
// 获取公钥的 URL
secret: jwksRsa.expressJwtSecret({
cache: true,
rateLimit: true,
jwksRequestsPerMinute: 5,
jwksUri: 'https://your-auth0-domain/.well-known/jwks.json',
}),
// 验证发行人和受众
audience: 'your-api-audience',
issuer: 'https://your-auth0-domain/',
algorithms: ['RS256'],
});
// 应用 JWT 中间件
app.use(jwtMiddleware);
// 定义受保护的 API 路由
app.get('/api/protected', (req, res) => {
res.send('受保护的 API 路由');
});
// 启动服务器
app.listen(3000, () => {
console.log('服务器已启动在端口 3000');
});
在上面的代码中,我们使用了 express-jwt
和 jwks-rsa
库来验证和提取 Auth0 的访问令牌。请确保将 your-auth0-domain
替换为您的 Auth0 域,your-api-audience
替换为您的 API 的受众。
当客户端向您的 API 发出请求时,请确保将访问令牌作为 Authorization
标头的 Bearer 令牌值传递。例如:
GET /api/protected HTTP/1.1
Host: your-api-domain.com
Authorization: Bearer your-access-token
通过按照上述步骤进行操作,您应该能够确保 Auth0 的访问令牌始终传递给您的 API。