# @electron/github-app-auth 中文文档

规范地址：https://npmcn.com/package/%40electron/github-app-auth/

版本：3\.2\.0
npm 元数据更新时间：2025-11-14T07:34:59.088Z
中文译文更新时间：2026-11-13T12:01:57.091Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40electron/github-app-auth
原文对照：https://npmcn.com/package/%40electron/github-app-auth/?lang=original
项目主页：https://github.com/electron/github-app-auth
源码仓库：https://github.com/electron/github-app-auth

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

- 包体积（解压后）：16 kB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.12\.0
- 运行依赖：2 个
- 首次发布：2022-05-05T22:28:41.915Z
- 最新版本发布：2025-11-14T07:34:58.681Z
- 近 30 天下载量：33117（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 1 个）

## 中文简介

通过 GitHub 应用程序安装获取 repo 的认证令牌

## 安装

```sh
npm install @electron/github-app-auth
```

也可以使用：`pnpm add @electron/github-app-auth`、`yarn add @electron/github-app-auth`、`bun add @electron/github-app-auth`

## README

# @ electron/ github- app- auth

> 通过 GitHub 应用程序安装获取 repo 的认证令牌

[![Test](https://github.com/electron/github-app-auth/actions/workflows/test.yml/badge.svg)](https://github.com/electron/github-app-auth/actions/workflows/test.yml) [![npm version](https://img.shields.io/npm/v/@electron/github-app-auth.svg)](https://npmjs.org/package/@electron/github-app-auth)

## 使用量

### 生成证书

为了简单的证书管理 `@electron/github-app-auth` 包含 a CLI 生成包含必需的"证书捆绑"的工具 用于生成符号的信息。 你需要两个私人钥匙 应用程序和应用程序ID.

-   您可以在您的 GitHub App 的设置页面上找到您的应用程序的ID .
-   要下载您的应用程序的私人密钥, 你看 [GitHub Apps 管理私人密钥](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps)。 。 。 .

```bash
npx @electron/github-app-auth --cert=my-private.key.pem --app-id=12345
```

此命令将输出一个编码为 blob 的 Base64, 您应该存储在您的 服务秘密存储(通常通过环境变量访问)。 以下 我们将使用 `MY_GITHUB_APP_CREDS` 作为环境变量.

### 与 `@octokit/rest`

```typescript
import { appCredentialsFromString, getAuthOptionsForRepo } from '@electron/github-app-auth';
import { Octokit } from '@octokit/rest';

const creds = appCredentialsFromString(process.env.MY_GITHUB_APP_CREDS);
const authOpts = await getAuthOptionsForRepo({
  owner: 'electron',
  name: 'electron'
}, creds)
const octo = new Octokit({
  ...authOpts,
});

// octo is now a valid octokit instance
```

### 带着生来的东西

```typescript
import { appCredentialsFromString, getTokenForRepo } from '@electron/github-app-auth';
import { Octokit } from '@octokit/rest';

const creds = appCredentialsFromString(process.env.MY_GITHUB_APP_CREDS);
const token = await getTokenForRepo({
  owner: 'electron',
  name: 'electron'
}, creds)

// token is now a valid github auth token
```

#### 在CLI上写着生代号

```bash
gh_token=$(npx @electron/github-app-auth --creds=$MY_GITHUB_APP_CREDS --owner=electron --repo=electron)
```

## 常见问题

### @electron/github-app-auth 是什么？

通过 GitHub 应用程序安装获取 repo 的认证令牌

### 如何安装 @electron/github-app-auth？

在项目目录运行 npm install @electron/github-app-auth，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 github-app-auth-build，可以用 npx github-app-auth-build 直接运行。

### @electron/github-app-auth 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/electron\_\_github-app-auth 是否存在。

### @electron/github-app-auth 支持 ESM 还是 CommonJS？

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

### @electron/github-app-auth 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.12\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @electron/github-app-auth 可以商用吗？

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

### @electron/github-app-auth 的下载量有多少？

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

### @electron/github-app-auth 还在维护吗？

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

