composerがGitHubに接続すると、非推奨の認証方法に関する警告が表示されます。どの認証構成を使用する必要がありますか?


8

GitHubは廃止された認証に関するメールの送信を開始しましたがauth.json、新しい体制での作曲家の外観を詳しく説明するリソースはまだ見つかりません。

私の要件は比較的単純です-開発中のSymfonyアプリケーションを更新するためにcomposerを使用し、時々他のリポジトリで実験します。

これで、私の元の構成(自動的に構築されます)...

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

...私はこの警告を受け取ります:

...個人用アクセストークン... GitHub APIを介してエンドポイントにアクセスするためのクエリパラメータの一部として使用されました...代わりにAuthorization HTTPヘッダーを使用してください...

しかし、私がこの他の構成で試してみると:

{
    "http-basic": {
        "github.com": {
            "username": " my email address",
            "password": " my password "
        }    }
}

私はこの他の警告を受け取ります:

最近、Composer / 1.9.1を使用してGitHub APIを介してエンドポイントにアクセスするためにパスワードを使用しました...このエンドポイントにアクセスするには、適切なスコープの個人用アクセストークン(PAT)を使用することをお勧めします。

それは本当にどのように見えるべきですか、なぜこれらの非推奨の警告が表示されるのですか?

回答:


4

これら2つの構成のうち、最初の構成が正しい構成です。

「文字列」は、GitHubの適切なアクセススコープで構成されたパーソナルアクセストークン(PAT)である必要があります

トークンのスコープを構成するには、GitHub開発者設定-> パーソナルアクセストークンにアクセスする必要があります。

2番目の形式は、生成されたトークンの代わりにユーザー名とパスワードの送信を認証しようとします。これはセキュリティ上の問題であり、実行すべきではありません。

ただし、最初の警告が表示される主な理由は、古いcomposerバージョンを実行しているためです

あなたはする必要が1.9.3バージョンに更新しこれは修正されました。それでも以前のバージョンでは、composerがGitHubに接続する方法が原因で非推奨の警告が表示される場合があります。


それでも、個人のアクセストークンを使用してSymfonyプロジェクトの1つを更新すると、use the Authorization HTTP header insteadメールが届きます。
geoB

@geoリポジトリはどのように定義されていますか?なにtypevcsgitgithub
yivi

composer.jsonしかありません"type": "project"。あなたが言及する他の要素はどれもありません。これは、各プロジェクトに当てはまります。
geoB

わかりました、私はあなたがプライベートリポジトリを定義したと思いました。次に、編集した回答を確認します。composerを最新バージョンに更新する必要があります。それでも警告composer.lockが表示される場合は、ロックファイルにキャッシュされたURLがある場合があるため、削除して再インストールします。
yivi

2

作曲家を更新するとエラーが消えます

php composer.phar self-update

または

composer self-update

回答にいくつかの情報を追加してください。すでに受け入れられ、かなり良い説明された答えがあります。別の答えを追加することで、さらに洞察を提供する必要があります
ニコ・ハーセ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.