当Composer连接到GitHub时,我收到有关弃用身份验证方法的警告。我应该使用哪个身份验证配置?

9

GitHub已经开始发送关于弃用身份验证的电子邮件,但我还没有找到详细说明在新制度下composer的auth.json应该是什么样子的资源。

我的要求相对简单-使用composer在开发中更新Symfony应用程序,并偶尔尝试其他库。

因此,我的原始配置(自动构建)是这样的...

{
    "github-oauth": {
        "github.com": "(a string)"
    }
}

我收到了以下警告信息:

...您的个人访问令牌( personal access token )...被用作查询参数来访问GitHub API的一个端点...请改用 Authorization HTTP 标头(header)...

但当我尝试使用另一种配置时:
{
    "http-basic": {
        "github.com": {
            "username": " my email address",
            "password": " my password "
        }    }
}

我收到了另一个警告:

您最近使用密码通过Composer/1.9.1访问GitHub API的端点...我们建议使用具有适当范围的个人访问令牌(PAT)来访问此端点。

实际上应该是什么样子的,为什么会收到这些弃用警告?

2个回答

7

在这两个配置中,第一个是正确的。

"字符串" 应该是您的个人访问令牌(PAT),已经在GitHub上配置了适当的访问范围

要配置令牌的范围,您需要访问GitHub开发者设置-> 个人访问令牌

第二种格式尝试通过发送您的用户名和密码来进行身份验证,而不是生成的令牌。这是不良的安全实践,不应该这样做。

但你收到第一个警告的主要原因是因为你正在运行旧版composer

您需要升级到1.9.3版本在此版本中已经修复了这个问题。在之前的版本中,由于composer如何连接到GitHub,您可能仍会收到弃用警告。


然而,当我使用个人访问令牌更新我的Symfony项目之一时,我会收到“请改用授权HTTP标头”的电子邮件。 - geoB
@geo 你的代码库是如何定义的?它的 type 是什么?vcsgitgithub - yivi
composer.json 只有 "type": "project"。你提到的其他元素都没有。每个项目都是如此。 - geoB
好的,我以为你已经定义了一个私有仓库。那么请检查编辑后的答案,你需要将composer更新到最新版本。如果你仍然收到警告,请删除composer.lock并重新安装,因为有时锁定文件中会缓存URL。 - yivi

2

更新Composer,错误将消失。

php composer.phar self-update

或者

composer self-update

请在你的答案中添加更多信息。已经有一个被接受且解释得非常好的答案了,通过添加另一个答案,你应该提供更多的见解。 - Nico Haase

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接