# @brianmmdev/clerk-webhooks-handler 中文文档

规范地址：https://npmcn.com/package/%40brianmmdev/clerk-webhooks-handler/

版本：1\.0\.7
npm 元数据更新时间：2025-04-04T20:53:04.860Z
中文译文更新时间：2026-11-08T14:56:54.980Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40brianmmdev/clerk-webhooks-handler
原文对照：https://npmcn.com/package/%40brianmmdev/clerk-webhooks-handler/?lang=original
项目主页：https://github.com/bmorrisondev/clerk-webhooks-handler#readme
源码仓库：https://github.com/bmorrisondev/clerk-webhooks-handler

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：30.2 kB，6 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：3 个
- 首次发布：2024-04-30T20:34:30.983Z
- 最新版本发布：2025-04-04T20:53:04.651Z
- 近 30 天下载量：3991（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：8（近 12 个月 0 个）

## 中文简介

在 Next.js 应用程序中精简 Clark Webhooks 配置的软件包 .

## 安装

```sh
npm install @brianmmdev/clerk-webhooks-handler
```

也可以使用：`pnpm add @brianmmdev/clerk-webhooks-handler`、`yarn add @brianmmdev/clerk-webhooks-handler`、`bun add @brianmmdev/clerk-webhooks-handler`

## README

# 办事员 Webhooks 处理器

一个精简Clerk webhooks配置的软件包.

> QQ 此项目没有得到办事员的正式支持. 自行取用.

## 项目目标

这个软件包的目标是通过抽象去解析来源事件类型和有效载荷的过程,以及自动验证来源请求的签名,从而更容易与Clerk webhooks合作.

结果是使用回调功能并经过被支持的有效载荷的全型版本的单一方法,使得操作更加简单,比如更新数据库记录,发送自定义通知,以及您想构建的任何其他自定义逻辑.

## 安装

此软件包部署到 [国家预防机制](https://www.npmjs.com/package/@brianmmdev/clerk-webhooks-handler) 并可以安装以下命令:

```bash
npm install @brianmmdev/clerk-webhooks-handler
```

## 环境变量

要运行此工程, 您需要将以下环境变量添加到您的. env 文件 :

-   `WEBHOOK_SECRET` - 电话 _签名保密_ 在登记新的终点时从办事员仪表板获得的价值.

## 使用/实例

虽然这个软件包理论上可以和任何JavaScript网络框架一起使用,但到目前为止它只用Next.js进行了测试,因此这个例子将使用Next.js.

1.  在您首选的位置创建路由处理器 .
2.  创建实例 `createWebhooksHandler`,在配置对象中传递一系列召回功能.
3.  导出处理器的 `POST` 方法为 `POST` next.js会将网络请求传入其中.

以下示例显示此路由处理器与 `onUserUpdated` 当一个用户在办事员中更新时,会点火,以及 `onSessionCreated` 当会话被创建时.

```ts
import { createWebhooksHandler } from "@brianmmdev/clerk-webhooks-handler";
import { UserJSON, SessionJSON } from "@clerk/nextjs/server";

const handler = createWebhooksHandler({
  // Add/remove optional handlers to get access to the data.
  onUserUpdated: async (payload: UserJSON) => {
    // Handle the payload...
  },
  onSessionCreated: async (payload: SessionJSON) => {
    // Handle the payload...
  }
})

export const POST = handler.POST
```

这个 `WebhookRegistrationConfig` 对象定义所有被支持的回调, 而回调又与其在 Clerve 中的 Webhook 事件相对应 :

```ts
export type WebhookRegistrationConfig = {
  secret?: string
  onEmailCreated?: HandlerFn<EmailJSON>;
  onOrganizationCreated?: HandlerFn<OrganizationJSON>;
  onOrganizationDeleted?: HandlerFn<DeletedObjectJSON>;
  onOrganizationUpdated?: HandlerFn<OrganizationJSON>;
  onOrganizationInvitationAccepted?: HandlerFn<OrganizationInvitationJSON>;
  onOrganizationInvitationCreated?: HandlerFn<OrganizationInvitationJSON>;
  onOrganizationInvitationRevoked?: HandlerFn<OrganizationInvitationJSON>;
  onOrganizationMembershipCreated?: HandlerFn<OrganizationMembershipJSON>;
  onOrganizationMembershipDeleted?: HandlerFn<DeletedObjectJSON>;
  onOrganizationMembershipUpdated?: HandlerFn<OrganizationMembershipJSON>;
  onPermissionCreated?: HandlerFn<PermissionJSON>;
  onPermissionDeleted?: HandlerFn<DeletedObjectJSON>;
  onPermissionUpdated?: HandlerFn<PermissionJSON>;
  onRoleCreated?: HandlerFn<RoleJSON>;
  onRoleDeleted?: HandlerFn<DeletedObjectJSON>;
  onRoleUpdated?: HandlerFn<RoleJSON>;
  onSessionCreated?: HandlerFn<SessionJSON>;
  onSessionEnded?: HandlerFn<SessionJSON>;
  onSessionPending?: HandlerFn<SessionJSON>;
  onSessionRemoved?: HandlerFn<SessionJSON>;
  onSessionRevoked?: HandlerFn<SessionJSON>;
  onSmsCreated?: HandlerFn<SMSMessageJSON>;
  onUserCreated?: HandlerFn<UserJSON>;
  onUserCreatedAtEdge?: HandlerFn<UserJSON>;
  onUserDeleted?: HandlerFn<DeletedObjectJSON>;
  onUserUpdated?: HandlerFn<UserJSON>;
  onWaitlistEntryCreated?: HandlerFn<OrganizationJSON>;
  onWaitlistEntryUpdated?: HandlerFn<OrganizationJSON>;
}
```

如果对应的 Webhook 未定义回调, 软件包将使用 `404` 呼叫者的身份 .

## 捐款

总是欢迎捐款! 为了对这个项目作出贡献,将它分叉入您自己的GitHub账户或组织,进行必要的修改,并创建一个拉出请求进入这个寄存器.

如果我不及时回复 [@ brianmmdev](https://twitter.com/brianmmdev)

## 反馈

如果您有任何反馈,请在Twitter上联系我: [@ brianmmdev](https://twitter.com/brianmmdev)

报告问题或提出改进建议,请自觉 创建问题。 。 。 .

## 常见问题

### @brianmmdev/clerk-webhooks-handler 是什么？

在 Next\.js 应用程序中精简 Clark Webhooks 配置的软件包 \.

### 如何安装 @brianmmdev/clerk-webhooks-handler？

在项目目录运行 npm install @brianmmdev/clerk-webhooks-handler，或使用 pnpm add / yarn add / bun add。

### @brianmmdev/clerk-webhooks-handler 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/brianmmdev\_\_clerk-webhooks-handler 是否存在。

### @brianmmdev/clerk-webhooks-handler 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @brianmmdev/clerk-webhooks-handler 可以商用吗？

@brianmmdev/clerk-webhooks-handler 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @brianmmdev/clerk-webhooks-handler 的下载量有多少？

根据 npm 官方下载统计，@brianmmdev/clerk-webhooks-handler 在 2026/10/09 – 2026/11/07 这 30 天内被下载 3,991 次，日均约 133 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @brianmmdev/clerk-webhooks-handler 还在维护吗？

最新版本 1\.0\.7 发布于 2025/04/05（1\.6 年前）；至今共发布 8 个版本，其中过去 12 个月发布了 0 个；首次发布于 2024/05/01。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

