Skip to main content

此版本的 GitHub Enterprise 已停止服务 2022-10-12. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

刷新用户到服务器访问令牌

要实施定期令牌轮换并减少受威胁令牌的影响,您可以配置 GitHub App 以使用过期用户访问令牌。

注意: 过期用户令牌目前为可选功能,可能会有变动。 若要选择� 入或退出用户到服务器令牌过期功能,请参阅“激活应用的可选功能”。 有关详细信息,请参阅“GitHub 应用的用户到服务器访问令牌过期”。

关于过期用户访问令牌

要实施定期令牌轮换并减少受威胁令牌的影响,您可以配置 GitHub App 以使用过期用户访问令牌。 有关发出用户到服务器请求的详细信息,请参阅“识别和授权 GitHub 应用用户”。

过期用户令牌在 8 小时后过期。 当您收到新的用户到服务器访问令牌时,响应还将包含刷新令牌,可以将其交换为新的用户令牌和刷新令牌。 刷新令牌的有效期为 6 个月。

使用刷新令牌续订用户令牌

若要续订即将过期的用户到服务器访问令牌,可以将 refresh_token 交换为新的访问令牌和 refresh_token

POST https://github.com/login/oauth/access_token

此回调请求将向您发送新的访问令牌和新的刷新令牌。 此回调请求类似于用来将临时 code 交换为访问令牌的 OAuth 请求。 有关详细信息,请参阅“� �识和授权 GitHub 应用用户”和“身份验证基础知识”。

参数

名称类型说明
refresh_tokenstring必填。 当 GitHub App 所有者启用即将过期的令牌并颁发新的用户访问令牌时,将生成此令牌。
grant_typestring必填。 值必须为 refresh_token(OAuth 规范要求)。
client_idstring必填。 GitHub App 的客户端 ID。
client_secretstring必填。 GitHub App 的客户端密� �。

响应

{
  "access_token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
  "expires_in": "28800",
  "refresh_token": "ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498",
  "refresh_token_expires_in": "15811200",
  "scope": "",
  "token_type": "bearer"
}

为现有 GitHub 应用程序配置过期用户令牌

您可以在 GitHub App 设置中启用或禁用过期用户到服务器授权令牌

  1. 在任何页面的右上角,单击个人资料照片,然后单击“设置”。

    用户� �中的 Settings 图� �

  2. In the left sidebar, click Developer settings. Developer settings

  3. 在左侧边� �中,单击“GitHub 应用”。 GitHub 应用部分

  4. 单击所选 GitHub App 旁边的“编辑”。 编辑 GitHub 应用的设置

  5. 在左侧边� �中,单击“可选功能”。 “可选功能”选项卡

  6. 在“用户到服务器令牌过期”旁边,单击“选择� 入”或“选择退出”。此设置可能需要� 秒钟才能应用 。

为新的 GitHub 应用程序选择退出过期令牌

当您创建新的 GitHub App 时,默认情况下,您的应用程序将使用过期用户到服务器访问令牌。

如果希望应用程序使用不过期用户到服务器访问令牌,您可以在应用程序设置页面上取消选择“Expire user authorization tokens(过期用户授权令牌)”。

在 GitHub 应用程序设置过程中选择� 入过期用户令牌的选项

仅当应用程序所有者为其应用程序启用了过期用户令牌时,使用用户到服务器授权令牌的现有 GitHub Apps 才会受到这个新流程的影响。

要为现有 GitHub Apps 启用过期用户令牌,需要通过 OAuth 流程发送用户以重新颁发将在 8 小时后过期的新用户令牌,并使用刷新令牌发出请求以获取新的访问令牌和刷新令牌。 有关详细信息,请参阅“� �识和授权 GitHub 应用用户”。

延伸阅读