@atcute/oauth-keyset

中文文档
0.1.3发布于 2026/08/020BSDES Module近 30 天下载 3.6万

aT 协议 OAuth 的密钥集管理

中文使用文档
文档目录5 节
  1. 使用量
  2. 生成密钥
  3. 直接使用 JWK
  4. 从 PKCS # 8 导入
  5. 使用密钥集

@ atcute/ oauth- keyset (帮助)

aT 协议 OAuth 的密钥集管理.

npm install @atcute/oauth-keyset

使用量

生成密钥

import { generateClientAssertionKey } from '@atcute/oauth-crypto';
import { Keyset } from '@atcute/oauth-keyset';

// generate a new ES256 key
const key = await generateClientAssertionKey('my-key-id');

// create a keyset with the key
const keyset = new Keyset([key]);

直接使用 JWK

import type { ClientAssertionPrivateJwk } from '@atcute/oauth-crypto';
import { Keyset } from '@atcute/oauth-keyset';

// JWKs can be used directly - no import step needed
const jwk: ClientAssertionPrivateJwk = {
    kty: 'EC',
    crv: 'P-256',
    kid: 'my-key',
    alg: 'ES256',
    // ... private key parameters (x, y, d)
};

const keyset = new Keyset([jwk]);

从 PKCS # 8 导入

import { importClientAssertionPkcs8 } from '@atcute/oauth-crypto';
import { Keyset } from '@atcute/oauth-keyset';

// import from PKCS#8 PEM - returns a JWK
const jwk = await importClientAssertionPkcs8(pemString, {
    kid: 'my-key',
    alg: 'ES256',
});

const keyset = new Keyset([jwk]);

使用密钥集

// get public JWKS (for serving at jwks_uri)
const jwks = keyset.publicJwks;

// find a key by criteria
const key = keyset.find({ kid: 'my-key' });
const key = keyset.find({ alg: 'ES256' });

// find a key for signing with server negotiation
const { key, alg } = keyset.findForSigning(['ES256', 'ES384']);

版本与发布记录

@atcute/oauth-keyset 共发布 4 个版本,首次发布于 2026/01/30;过去 12 个月发布了 4 个版本。

版本发布日期距今
0.1.3latest2026/08/023 个月前
0.1.22026/06/294 个月前
0.1.12026/05/095 个月前
0.1.02026/01/309 个月前

关于 @atcute/oauth-keyset 的常见问题

@atcute/oauth-keyset 是什么?

aT 协议 OAuth 的密钥集管理

如何安装 @atcute/oauth-keyset?

在项目目录运行 npm install @atcute/oauth-keyset,或使用 pnpm add / yarn add / bun add。

@atcute/oauth-keyset 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/atcute__oauth-keyset 是否存在。

@atcute/oauth-keyset 支持 ESM 还是 CommonJS?

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

@atcute/oauth-keyset 可以商用吗?

@atcute/oauth-keyset 使用 0BSD 许可。几乎没有限制:可自由使用、修改和分发,连保留版权声明也不要求。以上为概括,不构成法律意见,请以许可原文为准。

@atcute/oauth-keyset 的下载量有多少?

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

@atcute/oauth-keyset 还在维护吗?

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