Wenn Composer eine Verbindung zu GitHub herstellt, wird eine Warnung zu einer veralteten Authentifizierungsmethode angezeigt. Welche Authentifizierungskonfiguration soll ich verwenden?

8

GitHub hat begonnen, E-Mails über veraltete Authentifizierung zu senden, aber ich habe noch keine Ressource gefunden, um zu beschreiben, wie Komponisten auth.jsonunter dem neuen Regime aussehen sollten.

Meine Anforderungen sind relativ einfach: Ich verwende Composer, um eine Symfony-Anwendung in der Entwicklung zu aktualisieren und gelegentlich mit anderen Repos zu experimentieren.

Damit meine ursprüngliche Konfiguration (automatisch erstellt) ...

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

... Ich erhalte diese Warnung:

... Ihr persönliches Zugriffstoken ... wurde als Teil eines Abfrageparameters verwendet, um über die GitHub-API auf einen Endpunkt zuzugreifen ... Verwenden Sie stattdessen den HTTP-Header für die Autorisierung ...

Aber wenn ich es mit dieser anderen Konfiguration versuche:

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

Ich erhalte diese andere Warnung:

Sie haben kürzlich ein Kennwort verwendet, um mit Composer / 1.9.1 über die GitHub-API auf einen Endpunkt zuzugreifen. Wir empfehlen, stattdessen ein persönliches Zugriffstoken (PAT) mit dem entsprechenden Bereich für den Zugriff auf diesen Endpunkt zu verwenden.

Wie sollte es wirklich aussehen und warum erhalte ich diese Abwertungswarnungen?

geoB
quelle

Antworten:

4

Von diesen beiden Konfigurationen ist die erste die richtige.

Die "Zeichenfolge" sollte Ihr persönliches Zugriffstoken (PAT) sein, das mit den entsprechenden Zugriffsbereichen auf GitHub konfiguriert ist .

Um die Bereiche für Ihr Token zu konfigurieren, müssen Sie Ihre GitHub-Entwicklereinstellungen -> Persönliche Zugriffstoken aufrufen .

Das zweite Format versucht, das Senden Ihres Benutzernamens und Kennworts anstelle eines generierten Tokens zu authentifizieren. Das ist eine schlechte Sicherheitspraxis und sollte nicht durchgeführt werden.

Der Hauptgrund, warum Sie die erste Warnung erhalten, ist, dass Sie eine alte Composer-Version ausführen .

Sie müssen auf die Version 1.9.3 aktualisieren , in der dies behoben wurde . In früheren Versionen wird möglicherweise trotzdem die Warnung "Veraltet" angezeigt, da der Composer eine Verbindung zu GitHub herstellt.

Yivi
quelle
Wenn ich jedoch ein persönliches Zugriffstoken verwende, um eines meiner Symfony-Projekte zu aktualisieren, erhalte ich die use the Authorization HTTP header insteadE-Mail.
GeoB
@geo Wie ist Ihr Repository definiert? Was ist das type? vcs? git? github?
Yivi
composer.jsonhat nur "type": "project". Keines der anderen Elemente, die Sie erwähnen. Dies gilt für jedes Projekt.
GeoB
Ok, ich dachte du hättest ein privates Repository definiert. Überprüfen Sie dann die bearbeitete Antwort. Sie müssen den Composer auf die neueste Version aktualisieren. Wenn Sie die Warnung weiterhin erhalten, löschen Sie sie composer.lockund installieren Sie sie erneut, da die Sperrdatei manchmal zwischengespeicherte URLs enthält.
Yivi
2

Aktualisieren Sie den Composer und der Fehler verschwindet

php composer.phar self-update

oder

composer self-update
Mike S.
quelle
Bitte fügen Sie Ihrer Antwort weitere Informationen hinzu. Es gibt bereits eine akzeptierte und ziemlich gut erklärte Antwort, und wenn Sie eine weitere hinzufügen, sollten Sie weitere Einblicke geben
Nico Haase,