关于以 GitHub 应用身份进行身份验证
您必须以 GitHub 应用的身份进行身份验证,才能以该应用的身份发送 REST API 请求。例如,如果您想使用 API 为访问组织资源生成安装访问令牌、列出您应用在各账户下的安装,或暂停某个应用安装,您都必须以应用身份进行身份验证。
如果某个 REST API 端点要求您以应用身份进行身份验证,该端点的文档会注明必须使用 JWT 来访问该端点。GraphQL API 不支持任何需要使用 JWT 进行身份验证的查询或变更。
使用 JSON Web Token (JWT) 以 GitHub 应用身份进行身份验证
-
为您的应用生成 JSON Web Token (JWT)。更多信息,请参阅 为 GitHub 应用生成 JSON Web Token (JWT)。
-
在请求的
Authorization头部中包含 JWT。在下面的示例中,将YOUR_JWT替换为您的 JWT。curl --request GET \ --url "https://api.github.com/app/installations" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer YOUR_JWT" \ --header "X-GitHub-Api-Version: 2026-03-10"
使用 Octokit.js SDK 以 GitHub 应用身份进行身份验证
您可以使用 GitHub 的 Octokit.js SDK 以 GitHub 应用身份进行身份验证。使用 SDK 进行身份验证的一个优势是您无需自行生成 JSON Web Token (JWT)。此外,SDK 还会在 JWT 过期时自动重新生成。
注意
要使用 Octokit.js 库,您必须安装并导入 octokit。下面的示例使用符合 ES6 规范的 import 语句。有关不同的安装和导入方式的更多信息,请参阅 octokit/octokit 仓库中的 Usage(使用方法)。
-
获取您的应用 ID。您可以在 GitHub 应用的设置页面找到应用 ID。有关如何进入 GitHub 应用设置页面的更多信息,请参阅 修改 GitHub 应用注册信息。
-
生成私钥。更多信息请参阅 管理 GitHub 应用的私钥。
-
从
octokit导入App。JavaScript import { App } from "octokit";import { App } from "octokit"; -
创建一个
App的新实例。在下面的示例中,将APP_ID替换为您应用的 ID。将PRIVATE_KEY替换为您应用私钥的值。JavaScript const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, });const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, }); -
使用
octokit方法向需要 JWT 的 REST API 端点发起请求。例如JavaScript await app.octokit.request("/app")await app.octokit.request("/app")