当 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 时,我收到有关弃用身份验证方法的警告。我应该使用啥身份验证配置?的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到 GitHub.com 进行克隆

如果不在防火墙或代理之后,Composer 将无法通过 http 连接到 packagegist 的一些原因是啥?

为啥从 powershell 命令行连接到 github 时出错?

GitHub - 无法连接到 github 443 windows/ 无法连接到 gitHub - 没有错误

Cloud Composer 无法连接到安装在 Azure VM 中的 SQL Server 数据库

GitHub“连接到 github 失败”没有错误