@fonoster/authz

中文文档
0.62.0发布于 2026/11/16MITTypeScriptCommonJS构建来源已验证近 30 天下载 6827

Authorization module for Fonoster

原始使用文档

authz

Authz Version Downloads/week License

Authz is a simple and extensible authorization module for Fonoster. It provides a way to authorize incoming phone and API calls.

The module has a simple interface that allows you to create authorization strategies. That includes verifying if a session is authorized, if a GRPC method is authorized, charging an account, and getting the account balance.

The interface is defined as follows:

type AuthzHandler = {
  checkSessionAuthorized(request: VoiceRequest): Promise<boolean>;
  checkMethodAuthorized(
    request: CheckMethodAuthorizedRequest
  ): Promise<boolean>;
  addBillingMeterEvent(request: AddBillingMeterEventRequest): Promise<void>;
};

Please look at the DummyAuthzHandler for an example of implementing your authorization strategy.

Enabling the Authz module

To enable the Authz module you need to set the AUTHZ_SERVICE_ENABLED environment variable to true. Also, you need the AUTHZ_SERVICE_HOST (required), AUTHZ_SERVICE_PORT (defaults), and AUTHZ_SERVICE_METHODS (default is /fonoster.calls.v1beta2.Calls/CreateCall) environment variables.

Imagine you want to authorize the creation of new Workspaces. You can add the /fonoster.identity.v1beta2.Identity/CreateWorkspace method to the AUTHZ_SERVICE_METHODS environment variable and implement the checkMethodAuthorized method in your AuthzHandler.

版本与发布记录

@fonoster/authz 共发布 183 个版本,首次发布于 2024/12/23;过去 12 个月发布了 66 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.62.0latest2026/11/16今天
0.61.02026/11/15今天
0.60.02026/11/151 天前
0.59.02026/11/141 天前
0.58.02026/11/141 天前
0.57.02026/11/114 天前

其他发布通道:next → 0.9.51。

关于 @fonoster/authz 的常见问题

@fonoster/authz 是什么?

Authorization module for Fonoster

如何安装 @fonoster/authz?

在项目目录运行 npm install @fonoster/authz,或使用 pnpm add / yarn add / bun add。

@fonoster/authz 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@fonoster/authz 支持 ESM 还是 CommonJS?

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

@fonoster/authz 可以商用吗?

@fonoster/authz 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fonoster/authz 的下载量有多少?

根据 npm 官方下载统计,@fonoster/authz 在 2026/10/15 – 2026/11/13 这 30 天内被下载 6,827 次,日均约 228 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fonoster/authz 还在维护吗?

最新版本 0.62.0 发布于 2026/11/16(今天);至今共发布 183 个版本,其中过去 12 个月发布了 66 个;首次发布于 2024/12/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。