关于授权 GitHub 应用
您、您的组织或 GitHub Marketplace 未拥有的应用程序可能需要验证您的 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 应用”。