我有一个 Next.js + React 应用程序。我在
src/app/api/feature/route.ts
中定义了一个现有的 API。我想使用像 curl -X POST http://localhost:3000/api/feature -d '{"key": "value"}' -H "Content-type: application/json"
这样的命令从命令行手动测试端点。在 route.ts
中,我们使用以下方法获取 Clerk JWT:
const { isSignedIn } = await clerkClient.authenticateRequest(req, {
jwtKey: process.env.CLERK_JWT_KEY,
});
if (!isSignedIn) {
return Response.json({
"errorMessage": "Invalid JWT provided in Authorization header!"
}, {
status: 401
});
}
因此,当我运行该 POST 命令时,我收到错误消息:
{"errorMessage":"Invalid JWT provided in Authorization header!"}
所以,看起来我需要 Clerk 在 UI 中登录应用程序时生成的 JWT。如果这是正确的方法或可能的话,我该怎么做?
您可以登录控制台 JWT:
console.log(request.headers.get('Authorization'));
您应该看到类似
Bearer <JWT>
打印出来的内容