当 Composer 连接到 GitHub 时,我收到有关弃用身份验证方法的警告。我应该使用啥身份验证配置?
Posted
技术标签:
【中文标题】当 Composer 连接到 GitHub 时,我收到有关弃用身份验证方法的警告。我应该使用啥身份验证配置?【英文标题】:When composer connects to GitHub I receive a warning about a deprecation authentication method. What authentication configuration should I use?当 Composer 连接到 GitHub 时,我收到有关弃用身份验证方法的警告。我应该使用什么身份验证配置? 【发布时间】:2020-05-27 11:33:56 【问题描述】:GitHub 已开始发送有关已弃用身份验证的电子邮件,但我尚未找到详细说明 composer 的 auth.json
在新制度下应该是什么样子的资源。
我的要求相对简单——使用 composer 更新开发中的 Symfony 应用程序,并偶尔尝试其他 repos。
有了这个,我原来的配置(自动搭建)...
"github-oauth":
"github.com": "(a string)"
...我收到此警告:
...您的个人访问令牌...被用作查询参数的一部分 通过 GitHub API 访问端点...请使用 而是授权 HTTP 标头...
但是当我尝试使用其他配置时:
"http-basic":
"github.com":
"username": " my email address",
"password": " my password "
我收到另一个警告:
您最近使用密码通过 GitHub 访问端点 API 使用 Composer/1.9.1 ...我们建议使用个人访问令牌 (PAT) 具有适当的范围来访问此端点。
它应该是什么样子?为什么我会收到这些弃用警告?
【问题讨论】:
【参考方案1】:在这两种配置中,第一种是正确的。
“字符串”应该是您的个人访问令牌 (PAT),在 GitHub 上使用 appropriate access scopes 进行配置。
要配置令牌的范围,您需要访问您的 GitHub 开发人员设置 -> Personal Access Tokens。
第二种格式尝试验证发送您的用户名和密码而不是生成的令牌。这是一种糟糕的安全做法,不应该这样做。
但您收到第一个警告的主要原因是您运行的是旧版作曲家。
您需要更新到 1.9.3 版本,where this was fixed。尽管如此,在以前的版本中,由于 composer 连接到 GitHub 的方式,您可能会收到弃用警告。
【讨论】:
然而,当我使用个人访问令牌更新我的一个 Symfony 项目时,我收到了use the Authorization HTTP header instead
电子邮件。
@geo 您的存储库是如何定义的? type
是什么? vcs
? git
? github
?
composer.json
只有"type": "project"
。你提到的其他元素都没有。每个项目都是如此。
好的,我以为你已经定义了一个私有存储库。然后检查编辑的答案,您需要将作曲家更新到最新版本。如果您仍然收到警告,请删除 composer.lock
并重新安装,因为有时锁定文件中有缓存的 url。【参考方案2】:
更新作曲家,错误就会消失
php composer.phar self-update
或
composer self-update
【讨论】:
请在您的答案中添加更多信息。已经有一个被接受且很好解释的答案,通过添加另一个答案,您应该提供更多见解以上是关于当 Composer 连接到 GitHub 时,我收到有关弃用身份验证方法的警告。我应该使用啥身份验证配置?的主要内容,如果未能解决你的问题,请参考以下文章
如果不在防火墙或代理之后,Composer 将无法通过 http 连接到 packagegist 的一些原因是啥?
为啥从 powershell 命令行连接到 github 时出错?
GitHub - 无法连接到 github 443 windows/ 无法连接到 gitHub - 没有错误