Cuando el compositor se conecta a GitHub, recibo una advertencia sobre un método de autenticación obsoleto. ¿Qué configuración de autenticación debo usar?

8

GitHub ha comenzado a enviar correos electrónicos sobre autenticación desaprobada, pero aún no he encontrado un recurso para detallar cómo auth.jsondebería verse el compositor bajo el nuevo régimen.

Mis requisitos son relativamente simples: usar Composer para actualizar una aplicación Symfony en desarrollo y, ocasionalmente, experimentar con otros repositorios.

Con esto, mi configuración original (construida automáticamente) ...

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

... recibo esta advertencia:

... su token de acceso personal ... se utilizó como parte de un parámetro de consulta para acceder a un punto final a través de la API de GitHub ... Utilice el encabezado HTTP de autorización en su lugar ...

Pero cuando intento con esta otra configuración:

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

Recibo esta otra advertencia:

Recientemente usó una contraseña para acceder a un punto final a través de la API de GitHub usando Composer / 1.9.1 ... Recomendamos usar un token de acceso personal (PAT) con el alcance apropiado para acceder a este punto final.

¿Cómo debería ser realmente y por qué recibo estas advertencias de desaprobación?

geoB
fuente

Respuestas:

4

De estas dos configuraciones, la primera es la correcta.

La "cadena" debe ser su Token de acceso personal (PAT), configurado con los ámbitos de acceso apropiados en GitHub.

Para configurar los ámbitos para su token, debe visitar la Configuración de desarrollador de GitHub -> Tokens de acceso personal .

El segundo formato intenta autenticar el envío de su nombre de usuario y contraseña en lugar de un token generado. Esa es una mala práctica de seguridad , y no debe hacerse.

Pero la razón principal por la que recibe la primera advertencia es porque está ejecutando una versión antigua del compositor .

Que necesita para actualizar a la versión 1.9.3 , donde lo arreglaron . Sin embargo, en versiones anteriores puede recibir la advertencia de desaprobación debido a cómo el compositor se conecta a GitHub.

yivi
fuente
Sin embargo, cuando uso un token de acceso personal para actualizar uno de mis proyectos de Symfony, recibo el use the Authorization HTTP header insteadcorreo electrónico.
geoB
@geo ¿Cómo se define su repositorio? ¿Cuál es su type? vcs? git? github?
yivi
composer.jsonsolo tiene "type": "project". Ninguno de los otros elementos que mencionas. Esto es cierto para cada proyecto.
geoB
Ok, pensé que habías definido un repositorio privado. Luego verifique la respuesta editada, debe actualizar Composer a la última versión. Si aún recibe la advertencia, elimine composer.locky vuelva a instalar, ya que a veces hay URL almacenadas en caché en el archivo de bloqueo.
yivi
2

Actualice el compositor y el error desaparecerá

php composer.phar self-update

o

composer self-update
Mike S
fuente
Agregue más información a su respuesta. Ya hay una respuesta aceptada y bastante buena explicada, y al agregar otra, debe proporcionar más información
Nico Haase,