# @aauth/protocol 中文文档

规范地址：https://npmcn.com/package/%40aauth/protocol/

版本：2\.0\.0
npm 元数据更新时间：2026-09-09T07:55:52.055Z
中文译文更新时间：2026-11-08T12:00:54.267Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40aauth/protocol
原文对照：https://npmcn.com/package/%40aauth/protocol/?lang=original
项目主页：https://github.com/aauth-dev/packages-js#readme
源码仓库：https://github.com/aauth-dev/packages-js

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

- 包体积（解压后）：39.4 kB，26 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-08-13T15:26:24.273Z
- 最新版本发布：2026-09-09T07:55:51.673Z
- 近 30 天下载量：1781（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

Auth 线条格式 - Auth- Requiredment and AAuth- Capability headers, access mode 规划,协议常数

## 安装

```sh
npm install @aauth/protocol
```

也可以使用：`pnpm add @aauth/protocol`、`yarn add @aauth/protocol`、`bun add @aauth/protocol`

## README

# @aaauth/ protocol (英语)

AAuth 线条格式, 单独使用. 页眉 :, `access_mode` 规划, 协议常数,以及未经验证的JWT解码. 没有I/O,没有密码.

音轨 `draft-hardt-oauth-aauth-protocol-11`。 。 。 .

一次性依赖: [`@hellocoop/httpsig`](https://www.npmjs.com/package/@hellocoop/httpsig), (中文(简体) ), 为 RFC 8941 结构化字段解析器而导入 (单位:千美元)`@hellocoop/httpsig/structured-fields`) (中文(简体) ). `AAuth-Requirement` 是一个词典 财务报告和审定财务报表 `AAuth-Capabilities` 这是一张Tokens的列表 每一个消费者 软件包以 `@hellocoop/httpsig` 无论如何,所以解析器是 已安装, 第二次执行相同的语法是第二次 引用和逃避规则 被错误.

```
npm install @aauth/protocol
```

## 授权要求

```ts
import { parseRequirementHeader, buildRequirementHeader, UnsupportedRequirementError }
  from '@aauth/protocol'

// resource side
res.setHeader('AAuth-Requirement', buildRequirementHeader({
  requirement: 'auth-token',
  resourceToken,
}))

// agent side
try {
  const challenge = parseRequirementHeader(res.headers.get('AAuth-Requirement')!)
} catch (e) {
  if (e instanceof UnsupportedRequirementError) {
    // MUST NOT treat the response as satisfiable. Surface e.value to the caller.
  }
}
```

公认价值: `agent-token`, (中文(简体) ), `person-token`, (中文(简体) ), `auth-token`, (中文(简体) ), `approval`, (中文(简体) ), `interaction`, (中文(简体) ), `clarification`, (中文(简体) ), `claims`。任何其它抛出的东西 `UnsupportedRequirementError`,携带生 `value`为 a `202` 打电话者 可能继续投票 `Location` 以防以后的回复有它知道的价值.

`requirement=auth-token` 需要一个 `resource-token` 参数和 `requirement=interaction` 需求 `code`;一个信头缺失一个是错的 抛出平原 `Error`。 。 。 . `url` 打开 `requirement=interaction` 可选: 当 收件人不在此列 `{interaction_endpoint}?code=…` 从 发行商公布的元数据. 未知参数被忽略 .

## 认证能力

```ts
buildCapabilitiesHeader(['interaction', 'clarification'])  // "interaction, clarification"
parseCapabilitiesHeader('interaction, quantum-consent')    // ["interaction"]
```

解析未识别的值并永不丢出——收件人 MUST 忽略 他们不知道的。 建筑不过滤:代理工会 其PS报告的能力,可能比本图书馆更新.

缺头不是空头. 当信头缺席时, 收件人为 MUST 不承担任何能力.

## 访问( m)

`access_mode` 内 `/.well-known/aauth-resource.json` 是咨询——运行时间 `AAuth-Requirement` 是权威的. `planAccessMode` 给一个特工 三个答案,永远不要扔.

```ts
const plan = planAccessMode(metadata.access_mode, { hasPersonServer: false })

switch (plan.kind) {
  case 'undeclared':     // absent or unrecognized — call the resource anyway
  case 'satisfiable':    // plan.mode is reachable with this setup
  case 'unsatisfiable':  // skip the resource, show plan.reason
}
```

未识别值为 `undeclared`,而不是出错:值空间是 AAuth 访问模式值注册, 和在未知值中断上停留的代理 每次一个值被注册.

`unsatisfiable` 来自于没有的代理符 `ps` 索赔。 5个中的3个 模式到达个人服务器,如果没有一个模式,则无法完成:

| 模式 | 无个人服务器 | 为什么 |
| --- | --- | --- |
| `agent-token` | 可调和 | 只有身份;流中没有PS. |
| `session-token` | 可调和 | 由资源管理;资源发行自己的证书. |
| `person-token` | **无法满足** | 代理人必须用个人代币签名,该代币只发行PS. |
| `auth-token` | **无法满足** | 资源令牌在 PS 中交换为 auth 令牌 . |
| `per-call` | **无法满足** | 终止证书——补助金为 `r3_per_call` 索赔. |

## 常数

`TOKEN_TYP` (四个) `typ` 价值, `DWK` (四份著名关键文件), `SIGNING_ALG` —— 说 `Ed25519`,根据RFC 9864充分说明. 多态 `EdDSA` 不得被使用.

## JWT 解码

`decodeJwtHeader` 财务报告和审定财务报表 `decodeJwtPayload` 解析一个符号的片段并投出 任何畸形的东西. **没有签名验证 .** 他们证明什么也没有,从来没有 就其产出作出信任决定.

## 不在这里

`AAuth-Mission` 11年,连同IANA的登记一起被删除。 任务 仅在 PS 发行的符号内获得资源, 如 `mission_s256` 索赔. 这个包中没有任务标题的帮助,也不会有.

## 许可证

麻省理工学院

## 常见问题

### @aauth/protocol 是什么？

Auth 线条格式 - Auth- Requiredment and AAuth- Capability headers, access mode 规划,协议常数

### 如何安装 @aauth/protocol？

在项目目录运行 npm install @aauth/protocol，或使用 pnpm add / yarn add / bun add。

### @aauth/protocol 支持 TypeScript 吗？

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

### @aauth/protocol 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @aauth/protocol 可以商用吗？

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

### @aauth/protocol 的下载量有多少？

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

### @aauth/protocol 还在维护吗？

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

