Skip to main content

授权 OAuth 应用

您可以将 GitHub 身份连接到使用 OAuth 的第三方应用程序。 在授权 OAuth App 时,应确保您信任应用程序,查阅开发者是谁,并查阅应用程序要访问的信息类型。

当 OAuth App 想要通过您在 GitHub.com上的帐户识别您时,您会看到一个页面,其中包含该应用的开发者联系信息以及所请求的特定数据列表。

提示:必须先验证电子邮件地址,才能为 OAuth App 授权。

OAuth App 访问

OAuth Apps 可以具有对 GitHub 数据的读取或写入权限 。

  • 读取权限仅允许应用查看数据。
  • 写入权限允许应用更改数据。

提示:我们建议您定期审查您授权的集成。 删除在一段时间内未使用的任何应用程序和令牌。 有关详细信息,请参阅“审查已授权的集成”。

关于 OAuth 范围

范围是 OAuth App 可以申请访问公共及非公共数据的权限组。

当您想使用集成了 GitHub 的 OAuth App 时,该应用程序可让您了解需要的数据访问权限类型。 如果您授予应用程序访问权限,则应用程序将能代您执行操作,例如读取或修改数据。 例如,如果要使用请求 user:email 作用域的应用,该应用将具有对专用电子邮件地址的只读访问权限。 有关详细信息,请参阅“关于 OAuth Apps 的范围”。

注意:目前,无法将源代码访问范围限定为只读。

每个用户/应用程序/作用域组合签发的令牌数量有限。 如果应用程序为同一用户和相同作用域创建超过 10 个令牌,则将撤销具有相同用户/应用程序/作用域组合的最旧令牌。

申请的数据类型

OAuth Apps 可以申请多种类型的数据。

数据类型说明
提交状态您可以授权应用程序报告您的提交状态。 提交状态访问权限允许应用程序确定对特定提交的构建是否成功。 应用程序无法访问您的代码,但可以读取和写入特定提交的状态信息。
部署部署状态访问权限允许应用程序根据公共和私有仓库的特定提交确定部署是否成功。 应用程序无法访问您的代码。
GistsGist 访问权限允许应用读取或写入公共和机密 Gist。
挂钩Webhook 访问权限允许应用在你管理的存储库上读取或写入挂钩配置。
通知通知访问权限允许应用程序读取您的 GitHub 通知,如议题和拉取请求的评论。 但应用程序仍然无法访问仓库中的任何内容。
Organizations and teams(组织和团队)组织和团队访问权限允许应用程序访问并管理组织和团队成员资格。
个人用户数据用户数据包括您的用户个人资料中的信息,例如您的姓名、电子邮件地址和地点。
存储库仓库信息包括贡献者的姓名、您创建的分支以及仓库中的实际文件。 应用程序可以申请访问用户级别的公共或私有仓库。
仓库删除应用程序可以申请删除您管理的仓库,但无法访问您的代码。
项目访问用户和组织 projects。 应用可以请求读/写或只读访问权限。

申请更新的权限

当 OAuth Apps 申请新的访问权限时,将会通知其当前权限与新权限之间的差异。

OAuth Apps 和组织

当你授权 OAuth App 访问你的个人帐户时,你还会看到该授权对你所在的每个组织的影响。

  • 对于具有 OAuth App 访问限制的组织,你可以请求组织管理员批准应用程序在该组织中使用。 如果组织未批准应用程序,则应用程序只能访问组织的公共资源。 如果你是组织管理员,则可以自行批准应用程序

  • 对于没有 OAuth App 访问限制的组织,将自动授予应用程序对该组织资源的访问权限。 因此,应注意批准哪些 OAuth Apps 访问你的个人帐户资源以及任何组织资源。

如果您属于任何实施 SAML 单点登录的组织,则在每次授权 OAuth App 时每个组织都必须有一个活动的 SAML 会话。

注意:如果你在对强制实施 SAML 单一登录的组织进行身份验证时遇到错误,则可能需要从帐户设置页撤销 OAuth 应用并重复身份验证流程以重新为应用授权。

延伸阅读