Skip to main content

授权 GitHub Apps

可以授权 GitHub App 检索关于 GitHub 帐户的信息,并代表你进行更改。

关于授权 GitHub Apps

如果应用程序并非由你、你的组织或 GitHub Marketplace 拥有,则可能需要验证你的 GitHub 标识或代表你与 GitHub 交互。 这些应用程序可能会请求授权以便 GitHub App 执行这些操作。 如果应用程序请求授权,则将重定向到 GitHub 页面,提示你授权应用。

在授权 GitHub App 时,应确保你信任应用程序所有者,并查阅应用程序要访问的信息。 在授权期间,系统将提示你向 GitHub App 授予执行以下所有操作的权限:

  • 验证 GitHub 标识:获得授权后,GitHub App 将能够检索公共 GitHub 配置文件。 应用还可能能够检索一些私人帐户信息。 在授权过程中,GitHub 将告诉你 GitHub App 可以访问哪些帐户信息。
  • 了解可以访问哪些资源:获得授权后,GitHub App 将能够确定应用程序也可以访问的你可以访问的资源。 例如,应用可以使用它,以便它可以向你显示适当的存储库列表。
  • 代表你执行操作:获得授权后,应用程序可以代表你对 GitHub 执行任务。 这可能包括创建议题或评论拉取请求。 有关详细信息,请参阅“关于 GitHub Apps 代表你执行操作”。

可以随时查看和撤销授权。 有关详细信息,请参阅“查看和撤销 GitHub 应用的授权”。

Note

如果你的组织使用 SAML SSO,并且你在授权 GitHub App 后无法查看组织的资源,则可能需要在为组织启动活动 SAML 会话后重新授权应用。 有关详细信息,请参阅“SAML 和 GitHub 应用”。

关于 GitHub Apps 代表你执行操作

授权 GitHub App 后,应用可以代表你执行操作。 GitHub App 代表您行事的情况根据 GitHub App 的目的和使用环境而有所不同。 例如,集成开发环境 (IDE) 可能使用 GitHub App 代表您进行交互,以便将通过 IDE 创作的更改推送回 GitHub 上的存储库。

GitHub App 只能执行你和应用都有权执行的操作。 例如,如果你对存储库具有写入访问权限,但 GitHub App 仅具有读取访问权限,则即使应用代表你执行操作,也只能读取存储库的内容。 同样,如果你有权访问存储库 AB,并且 GitHub App 有权访问存储库 BC,则应用只能在代表你执行操作时访问存储库 B 。 有关授予 GitHub App 的权限的详细信息,请参阅“授权和安装之间的差异”。

当应用代表你执行操作时,它将与应用一起将活动归因于你。 例如,如果应用代表你发布评论,GitHub UI 将显示你的虚拟形象照片以及应用的标识徽章作为问题作者。

评论的屏幕截图,其中包含带有重叠应用标识徽章的用户虚拟形象。 虚拟形象以橙色轮廓突出显示。

同样,如果活动触发审核日志和安全日志中的相应条目,日志会将你列为参与者,但会声明“programmatic_access_type”是“GitHub 应用的用户到服务器令牌”。

授权和安装之间的区别

在帐户或组织上安装 GitHub App 时,即表示向应用授予访问其请求的组织和存储库资源的权限。 还需要指定应用可以访问的存储库。 在安装过程中,GitHub App 将指示你授予哪些存储库和组织权限。 有关允许 GitHub App 执行操作的不同权限的详细信息,请参阅“为 GitHub Apps 选择权限”。

例如,可以向 GitHub App 授予读取存储库元数据和写入问题的权限,也可以向 GitHub App 授予访问所有存储库的权限。

用于安装 GitHub 应用的页面的屏幕截图。 应用正在请求对元数据的读取访问权限和对问题的写入访问权限。 应用还可以请求对电子邮件的读取访问权限和对 Gist 的写入访问权限的用户授权。

授权 GitHub App 时,即表示根据应用请求的帐户权限授予应用访问 GitHub 帐户的权限。 在授权过程中,应用将指示应用可以在你的帐户上访问的资源。 授权 GitHub App 后,还会授予应用代表你执行操作的权限。

例如,可以向 GitHub App 授予读取电子邮件地址和编写 Gist 的权限。

授权 GitHub 应用的页面的屏幕截图。 应用正在请求对电子邮件的读取访问权限和对 Gist 的写入访问权限。

无需授权应用即可安装 GitHub App。 同样,无需安装应用即可授权应用。

有关安装的详细信息,请参阅“从第三方途径安装 GitHub Apps”、“通过 GitHub 市场安装 GitHub App 以用于个人帐户“、“通过 GitHub 市场安装 GitHub App 以用于组织”和