--- title: 配置 Clerk 身份验证服务 - 完整指南 description: 学习如何配置 Clerk 身份验证服务,获取公私钥和设置 Webhook。 tags: - Clerk - 身份验证 - Webhook - 环境变量 --- # 配置 Clerk 身份验证服务 前往 [Clerk](https://clerk.com?utm_source=lobehub&utm_medium=docs) 注册并创建应用,获取相应的 Public Key 和 Secret Key。 ## 获取环境变量 ### 添加公、私钥环境变量 添加 `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` 和 `CLERK_SECRET_KEY` 环境变量。你可以在菜单中点击「API Keys」,然后复制对应的值获取该环境变量。 {'在 此步骤所需的环境变量如下: ```shell NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxx CLERK_SECRET_KEY=sk_live_xxxxxxxxxxxxxxxxxxxxxx ``` ### 在 Clerk 中创建并配置 Webhook 由于我们让 Clerk 完全接管用户鉴权与管理,因此我们需要在 Clerk 用户生命周期变更时(创建、更新、删除)中通知我们的应用并存储落库。我们通过 Clerk 提供的 Webhook 来实现这一诉求。 我们需要在 Clerk 的 Webhooks 中添加一个端点(Endpoint),告诉 Clerk 当用户发生变更时,向这个端点发送通知。 {'Clerk 在 endppint 中填写你的项目 URL,如 `https://your-project.com/api/webhooks/clerk`。然后在订阅事件(Subscribe to events)中,勾选 user 的三个事件(`user.created` 、`user.deleted`、`user.updated`),然后点击创建。 URL的`https://`不可缺失,须保持URL的完整性 {'添加 ### 将 Webhook 秘钥添加到环境变量 创建完毕后,可以在右下角找到该 Webhook 的秘钥: {'查看 这个秘钥所对应的环境变量名为 `CLERK_WEBHOOK_SECRET`: ```shell CLERK_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxxxxxxxx ``` 这样,你已经成功配置了 Clerk 身份验证服务。