关于授权 GitHub Apps
需要验证你的 GitHub 标识或代表你与 GitHub 交互的第三方应用程序可以要求你授权 GitHub App 这样做。 如果第三方应用程序希望你授权 GitHub App,该应用程序会将你带到 GitHub 页面,提示你授权该应用。
在授权 GitHub App 时,应确保你信任应用程序所有者,并查阅应用程序要访问的信息。 在授权期间,系统将提示你向 GitHub App 授予执行以下所有操作的权限:
- 验证 GitHub 标识:获得授权后,GitHub App 将能够检索公共 GitHub 配置文件。 应用还可能能够检索一些私人帐户信息。 在授权过程中,GitHub 将告诉你 GitHub App 可以访问哪些帐户信息。
- 了解可以访问哪些资源:获得授权后,GitHub App 将能够确定应用程序也可以访问的你可以访问的资源。 例如,应用可以使用它,以便它可以向你显示适当的存储库列表。
- 代表你执行操作:获得授权后,应用程序可以代表你对 GitHub 执行任务。 这可能包括创建议题或评论拉取请求。 有关详细信息,请参阅“关于 GitHub Apps 代表你执行操作”。
可以随时查看和撤销授权。 有关详细信息,请参阅“查看和撤销 GitHub 应用的授权”。
关于 GitHub Apps 代表你执行操作
授权 GitHub App 后,应用可以代表你执行操作。 GitHub App 代表您行事的情况根据 GitHub App 的目的和使用环境而有所不同。 例如,集成开发环境 (IDE) 可能使用 GitHub App 代表您进行交互,以便将通过 IDE 创作的更改推送回 GitHub 上的存储库。
GitHub App 只能执行你和应用都有权执行的操作。 例如,如果你对存储库具有写入访问权限,但 GitHub App 仅具有读取访问权限,则即使应用代表你执行操作,也只能读取存储库的内容。 同样,如果你有权访问存储库 A
和 B
,并且 GitHub App 有权访问存储库 B
和 C
,则应用只能在代表你执行操作时访问存储库 B
。 有关授予 GitHub App 的权限的详细信息,请参阅“授权和安装之间的差异”。
当应用代表你执行操作时,它将与应用一起将活动归因于你。 例如,如果应用代表你发布评论,GitHub UI 将显示你的虚拟形象照片以及应用的标识徽章作为问题作者。
同样,如果活动触发审核日志和安全日志中的相应条目,日志会将你列为参与者,但会声明“programmatic_access_type”是“GitHub 应用的用户到服务器令牌”。
授权和安装之间的区别
在帐户或组织上安装 GitHub App 时,即表示向应用授予访问其请求的组织和存储库资源的权限。 还需要指定应用可以访问的存储库。 在安装过程中,GitHub App 将指示你授予哪些存储库和组织权限。 有关允许 GitHub App 执行操作的不同权限的详细信息,请参阅“为 GitHub Apps 选择权限”。
例如,可以向 GitHub App 授予读取存储库元数据和写入问题的权限,也可以向 GitHub App 授予访问所有存储库的权限。
授权 GitHub App 时,即表示根据应用请求的帐户权限授予应用访问 GitHub 帐户的权限。 在授权过程中,应用将指示应用可以在你的帐户上访问的资源。 授权 GitHub App 后,还会授予应用代表你执行操作的权限。
例如,可以向 GitHub App 授予读取电子邮件地址和编写 Gist 的权限。
无需授权应用即可安装 GitHub App。 同样,无需安装应用即可授权应用。
有关安装的详细信息,请参阅“从第三方途径安装 GitHub Apps”、“安装自己的 GitHub 应用”。