@brianmmdev/clerk-webhooks-handler

中文文档
1.0.7发布于 2025/04/05ISCCommonJS近 30 天下载 3991

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

中文使用文档
文档目录6 节
  1. 项目目标
  2. 安装
  3. 环境变量
  4. 使用/实例
  5. 捐款
  6. 反馈

办事员 Webhooks 处理器

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

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

项目目标

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

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

安装

此软件包部署到 国家预防机制 并可以安装以下命令:

npm install @brianmmdev/clerk-webhooks-handler

环境变量

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

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

使用/实例

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

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

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

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 事件相对应 :

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

反馈

如果您有任何反馈,请在Twitter上联系我: @ brianmmdev

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

版本与发布记录

@brianmmdev/clerk-webhooks-handler 共发布 8 个版本,首次发布于 2024/05/01;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.7latest2025/04/051.6 年前
1.0.62025/02/081.7 年前
1.0.52024/05/112 年前
1.0.42024/05/032 年前
1.0.32024/05/012 年前
1.0.22024/05/012 年前

关于 @brianmmdev/clerk-webhooks-handler 的常见问题

@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 和提交记录判断。