我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
GitHub AE 目前是有限发行版。请联系我们的销售团队了解更多信息。

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

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

本文内容

关于过期用户访问令牌

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

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

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

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

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

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

参数

名称类型描述
refresh_token字符串必填。当 GitHub 应用程序 所有者启用过期令牌并颁发新的用户访问令牌时生成的令牌。
grant_type字符串必填。值必须为 refresh_token(OAuth 规范要求)。
client_id字符串必填。GitHub 应用程序 的客户端 ID。
client_secret字符串必填。GitHub 应用程序 的客户端密钥。

响应

{
  "access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a",
  "expires_in": "28800",
  "refresh_token": "r1.c1b4a2e77838347a7e420ce178f2e7c6912e169246c34e1ccbf66c46812d16d5b1a9dc86a149873c",
  "refresh_token_expires_in": "15811200",
  "scope": "",
  "token_type": "bearer"
}

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

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

  1. 在任何页面的右上角,单击您的个人资料照片,然后单击 Settings(设置)
    用户栏中的 Settings 图标
  2. 在左侧边栏中,单击 Developer settings
    Developer settings 部分
  3. 在左侧边栏中,单击 GitHub Apps(GitHub 应用程序)
    GitHub Apps 部分
  4. 单击所选 GitHub 应用程序 旁边的 Edit(编辑)
    编辑 GitHub 应用程序的设置
  5. 在左边栏中,单击 Beta Features(测试版功能)
    测试版功能菜单选项
  6. 在“User-to-server token expiration(用户到服务器令牌过期)”旁边,单击 Opt-in(选择加入)Opt-out(选择退出)。 应用此设置可能需要几秒钟的时间。

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

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

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

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

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

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

此文档对您有帮助吗?

Privacy policy

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。