# 授权 OAuth 应用

您可以使用 OAuth 将您的GitHub身份关联到第三方应用程序。 授权应用程序 OAuth app时，应确保信任应用程序、查看其开发者，并查看应用程序想要访问的信息类型。

当某个 OAuth app 想通过你在 GitHub 上的账户识别你的身份时，你会看到一个页面，上面列有该应用开发者的联系信息以及所请求的具体数据列表。

## OAuth app 访问

OAuth apps可以对您的\_\_ 数据具有\_读取\_或GitHub权限。

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

> \[!TIP]
> 我们建议您定期查看已获授权的集成。 删除在一段时间内未使用的任何应用程序和令牌。 有关详细信息，请参阅“[审查授权的 OAuth 应用](/zh/enterprise-server@3.22/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps)”。

### 关于 OAuth 权限范围

\_作用域\_是一组已命名的权限，OAuth app 可请求这些权限以访问公开和非公开数据。

如果要使用与OAuth app集成的应用GitHub，该应用会让你知道需要对数据的访问权限类型。 如果您授予应用程序访问权限，则应用程序将能代您执行操作，例如读取或修改数据。 例如，如果要使用请求 `user:email` 作用域的应用，该应用将具有对专用电子邮件地址的只读访问权限。 有关详细信息，请参阅“[OAuth 应用的范围](/zh/enterprise-server@3.22/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps)”。

> \[!NOTE]
> 目前，无法将源代码访问范围限定为只读。

令牌具有与令牌所有者相同的访问资源和对这些资源执行操作的能力，并且还受到授予令牌的任何范围或权限的限制。 令牌无法向用户授予额外访问权限功能。 例如，应用程序可以创建配置有 `admin:org` 作用域的访问令牌，但如果应用程序的用户不是组织所有者，则不会向应用程序授予对组织的管理访问权限。

每个用户/应用程序/作用域组合签发的令牌数量有限，速率限制是每小时创建十个令牌。 如果应用程序为同一用户和同一作用域创建 10 个以上的令牌， GitHub 则撤消具有相同用户/应用程序/范围组合的现有令牌之一，顺序如下：

1. 从未使用过的最早令牌。
2. 如果使用了每个令牌，则表示最近使用最少的令牌。

达到每小时速率限制不会撤销最早的令牌。 相反，它会在浏览器中触发重新授权提示，要求用户仔细检查他们向你的应用授予的权限。 此提示旨在中断应用陷入的任何潜在的无限循环，因为应用几乎没有理由在一小时内向用户请求十个令牌。

### 申请的数据类型

OAuth apps 可以请求多种类型的数据。

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

## 申请更新的权限

请求新的访问权限时 OAuth apps ，他们将通知你其当前权限与新权限之间的差异。