在我的 React+Next.js 应用程序中从 Clerk 获取 JWT,以使用 Curl 测试 API 调用

问题描述 投票:0回答:1

我有一个 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。如果这是正确的方法或可能的话,我该怎么做?

curl next.js clerk
1个回答
0
投票

您可以登录控制台 JWT:

console.log(request.headers.get('Authorization'));

您应该看到类似

Bearer <JWT>
打印出来的内容

© www.soinside.com 2019 - 2024. All rights reserved.