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