0

0

如何获取Github API Token以解决Composer的速率限制问题? (API认证)

尼克

尼克

发布时间:2026-01-10 14:23:32

|

245人浏览过

|

来源于php中文网

原创

Composer 触发 GitHub 速率限制是因为未认证请求走匿名 API 通道(每小时限 60 次),大量拉取包时易超限;需用带 repo 权限的 Personal Access Token 配置 composer config -g github-oauth.github.com 。

如何获取github api token以解决composer的速率限制问题? (api认证)

为什么 Composer 会触发 GitHub 的速率限制?

未认证的 Composer 请求默认走 GitHub 的匿名 API 限流通道,每小时最多 60 次请求。一旦 composer installcomposer update 需要从 GitHub 拉取大量包(比如私有仓库、带 Git Submodule 的依赖、或频繁访问 Packagist 镜像未缓存的元数据),就会收到 403 rate limit exceeded 错误。

如何生成 Personal Access Token 并配置给 Composer?

GitHub 已弃用密码登录 API,必须使用 Personal Access Token(PAT),且需勾选 repo 权限(读取私有仓库)和/或 public_repo(读取公开仓库)。Composer 不支持 OAuth App Token 或 Fine-grained Token(后者在 2024 年后对 Git 操作兼容性不稳定)。

  • 访问 https://www.php.cn/link/9c450eb90c31bc12f1691f235da5a0cc
  • Token description 填写如 composer-github-auth
  • 勾选 repo(必需),可选 delete_repo(仅当你用 Composer 删除仓库时才需要)
  • 生成后立即复制该 token —— 页面关闭后无法再次查看明文
  • 运行命令写入全局配置:
    composer config -g github-oauth.github.com 

注意:github.com 是域名,不是用户名;token 必须粘贴完整,不能有多余空格或换行。

验证是否生效及常见失败原因

执行 composer diagnose,若看到 GitHub API: OK 表示认证已通过。但以下情况仍会失败:

Sider
Sider

多功能AI浏览器助手,帮助用户进行聊天、写作、阅读、翻译等

下载
  • token 权限不足:未勾选 repo → 报错 401 Unauthorized
  • token 过期或被手动删除:GitHub 不主动过期 PAT,但用户可能误删 → 报错 401 Bad credentials
  • Composer 使用了错误的域:例如配置成 github.com:xxxapi.github.com → 实际只认 github.com 作为 host key
  • 项目级配置覆盖了全局配置:检查项目根目录下的 auth.json 是否存在冲突项

临时调试可用:

COMPOSER_AUTH='{"github-oauth":{"github.com":"xxx..."}}' composer update
绕过配置文件直接注入。

敏感信息安全与 CI 环境适配

本地开发可放心用全局配置,但 CI 环境(如 GitHub Actions、GitLab CI)绝不能硬编码 token。应使用环境变量注入:

  • GitHub Actions 中:把 token 存为 secrets.GITHUB_TOKEN,并在 step 中用
    composer config github-oauth.github.com ${{ secrets.GITHUB_TOKEN }}
  • 避免在 auth.json 中提交 token:该文件默认被 .gitignore 排除,但若误提交,GitHub 会自动废止该 token 并发邮件警告
  • 如需多账号协作(如公司账号 + 个人账号),不要共用一个 token;Composer 支持 per-repository auth,但更推荐统一用组织级 token + SSO 授权

真正容易被忽略的是:GitHub 的 token 作用域是账户级的,一旦泄露,等同于交出整个账号的代码读写权限 —— 所以宁可多建几个最小权限 token,也不要复用一个“全能” token。

相关专题

更多
composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

148

2023.12.25

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

408

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

532

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6073

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

795

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1056

2023.12.21

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

25

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 8.2万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号