# @frigear-nu/oauth-server 中文文档

规范地址：https://npmcn.com/package/%40frigear-nu/oauth-server/

版本：0\.8\.0
npm 元数据更新时间：2026-11-12T17:12:18.915Z
中文译文更新时间：2026-11-15T14:18:58.893Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40frigear-nu/oauth-server
原文对照：https://npmcn.com/package/%40frigear-nu/oauth-server/?lang=original
项目主页：https://docs.frigear.dev/modules/identity/oauth-server
源码仓库：https://github.com/Frigear-nu/frigear-nu

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

- 包体积（解压后）：360 kB，131 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：13 个
- peer 依赖：@nuxt/ui ^4\.12\.0，@nuxthub/core ^0\.10\.12，@frigear-nu/menu ^0\.4\.0
- 首次发布：2026-10-09T15:02:52.124Z
- 最新版本发布：2026-11-12T17:12:18.079Z
- 近 30 天下载量：4225（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：30（近 12 个月 30 个）

## 中文简介

OAuth 2.0 / 为 frigear 生态系统的 OpenID Connect 服务器: 注册具有某些角色的用户可以签名的应用程序.

## 安装

```sh
npm install @frigear-nu/oauth-server
```

也可以使用：`pnpm add @frigear-nu/oauth-server`、`yarn add @frigear-nu/oauth-server`、`bun add @frigear-nu/oauth-server`

## README

# @frigear-nu/oauth-server (英语)

OAuth 2.0 / OpenID 连接服务器用于 friger 生态系统. 登记册 **应用程序**,将其限制为用户 通过您的应用程序(授权代码与 PKCE 相通, 旋转) , 让这些用户签名 刷新地标,RS256 ID地标,RFC 7662回想. 用户可管理哪些应用程序和范围 赠款遵循 `@frigear-nu/auth` (许可,角色来自 `@frigear-nu/authorization`页:1 索赔来自 `oauth:claims` 涅盘钩.

## 快速设置

要求数 `@nuxthub/core` 财务报告和审定财务报表 `@frigear-nu/users` (服务器模式). `@frigear-nu/menu` (帐砖)和 `@nuxt/ui` (已运出页)是可选的.

```ts
export default defineNuxtConfig({
  modules: ['@frigear-nu/menu', '@frigear-nu/users', '@frigear-nu/oauth-server'],
  oauthServer: {
    issuer: 'https://id.example.com',
    settings: { pages: { admin: true, applications: true } },
  },
})
```

创建签名密钥并通过环境曝光(公用密钥来源于此):

```bash
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 | awk 'NF {printf "%s\\n", $0}'
# NUXT_OAUTH_SERVER_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
```

创造并完成迁移 `oauth_*` 应用程序中的表格(参见仓库) `AGENTS.md`) (中文(简体) ).

管理应用程序和范围仅需要会话 `oauth:manage` 权限(发给 `admin` 角色由 默认). 范围是OIDC范围,每个标志可能持有的许可,以及命名范围: `oauthServer.scopes`, (中文(简体) ), 模块`addScope` 联 合 国 `@frigear-nu/auth`)和范围管理员。 控制每个角色可能给予客户的:

```ts
oauthServer: {
  scopes: [{ name: 'tickets', label: 'Your tickets', permissions: ['tickets:read', 'tickets:write'] }],
  settings: { roleScopes: { admin: ['*'], user: ['openid', 'profile', 'email', 'tickets'] } },
}
```

访问符载 a `permissions` 索赔,已冻结。 未知范围 `/oauth/authorize` 答案为 `invalid_scope`;用户不得授予的已知范围在同意屏幕上显示为不可用.

从早先的释放中移走: `addOAuthScope` 已丢失( 使用 `addScope` 从 `@frigear-nu/auth/utils`,或 `addPermission` (单位:千美元) `resource:action` 范围) `staffOnly` 编辑 `oauth:authorize`, (中文(简体) ), `oauth:scope:staff` 财务报告和审定财务报表 `oauth:user:roles` 钩子( 使用) `oauth:manage`、权限和作用; `allowedRoles` (与有效角色相匹配).

附有实例的完整文件: `apps/docs/content/3.modules/1.identity/6.oauth-server/index.md`。 。 。 .

## 发展

```bash
pnpm --filter @frigear-nu/oauth-server test
pnpm --filter @frigear-nu/oauth-server lint
pnpm --filter @frigear-nu/oauth-server dev
```

## 常见问题

### @frigear-nu/oauth-server 是什么？

OAuth 2\.0 / 为 frigear 生态系统的 OpenID Connect 服务器: 注册具有某些角色的用户可以签名的应用程序\.

### 如何安装 @frigear-nu/oauth-server？

在项目目录运行 npm install @frigear-nu/oauth-server，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@nuxthub/core（^0\.10\.12）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @frigear-nu/oauth-server 支持 TypeScript 吗？

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

### @frigear-nu/oauth-server 支持 ESM 还是 CommonJS？

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

### @frigear-nu/oauth-server 可以商用吗？

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

### @frigear-nu/oauth-server 的下载量有多少？

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

### @frigear-nu/oauth-server 还在维护吗？

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

