@ electron/ github- app- auth
通过 GitHub 应用程序安装获取 repo 的认证令牌
使用量
生成证书
为了简单的证书管理 @electron/github-app-auth 包含
a CLI 生成包含必需的"证书捆绑"的工具
用于生成符号的信息。 你需要两个私人钥匙
应用程序和应用程序ID.
- 您可以在您的 GitHub App 的设置页面上找到您的应用程序的ID .
- 要下载您的应用程序的私人密钥, 你看 GitHub Apps 管理私人密钥。 。 。 .
npx @electron/github-app-auth --cert=my-private.key.pem --app-id=12345
此命令将输出一个编码为 blob 的 Base64, 您应该存储在您的
服务秘密存储(通常通过环境变量访问)。 以下
我们将使用 MY_GITHUB_APP_CREDS 作为环境变量.
与 @octokit/rest
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
带着生来的东西
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上写着生代号
gh_token=$(npx @electron/github-app-auth --creds=$MY_GITHUB_APP_CREDS --owner=electron --repo=electron)