Esta versión de GitHub Enterprise se discontinuó el 2021-06-09. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Otros métodos de autenticación

Puedes utilizar la autenticación básica para hacer pruebas en un ambiente diferente al productivo.

Cuando la API proporciona varios métodos de autenticación, te recomendamos fuertemente utilizar OAuth para las aplicaciones productivas. Los otros métodos que se proporcionan tienen la intención de que se utilicen para scripts o para pruebas (por ejemplo, en los casos en donde utilizar todo el OAuth sería exagerado). Las aplicaciones de terceros que dependen de GitHub Enterprise para la autenticación no piden ni recolectan las credenciales de GitHub Enterprise. En vez de esto, deben utilizar el flujo web de OAuth.

Autenticación Básica

La API es compatible con la autenticación básica de acuerdo a lo que se define en el RFC2617 con algunas diferencias menores. La diferencia principal es que el RFC requiere de solicitudes sin autenticar para que se le den respuestas 401 Unauthorized. En muchos lugares, esto divulgaría la existencia de los datos de los usuarios. En cambio, la API de GitHub Enterprise responde con un 404 Not Found. Esto puede causar problemas para las bibliotecas de HTTP que asumen una respuesta de 401 Unauthorized. La solución es construir manualmente el encabezado de Authorization.

A través de OAuth y los tokens de acceso personal

Te recomendamos utilizar tokens de OAuth para autenticarte en la API de GitHub. Los tokens de OAuth incluyen a los tokens de acceso personal y habilitan al usuario para revocar el acceso en cualquier momento.

$ curl -u username:token http(s)://[hostname]/api/v3/user

Este acercamiento es útil si tus herramientas solo son compatibles con la Autenticación Básica pero quieres sacar ventaja de las características de seguridad de los tokens de acceso de OAuth.

A través de nombre de usuario y contraseña

Para utilizar la autenticación básica con la API de GitHub Enterprise, simplemente envía el nombre de usuario y contraseña asociados con la cuenta.

Por ejemplo, si estás accediendo a la API a través de cURL, el siguiente comando te autenticaría si lo reemplazas al <username> con tu nombre de usuario de GitHub Enterprise. (cURL te pedirá ingresar la contraseña.)

$ curl -u username http(s)://[hostname]/api/v3/user

Si habilitaste la autenticación de dos factores, asegúrate de que entiendes como trabajar con ella.

Trabajar con la autenticación de dos factores

Cuando habilitas la autenticación de dos factores, La Autenticación Básica para la _mayoría_de las terminales en la API de REST necesita que utilices un token de acceso personal o un token de OAuth en vez de tu nombre de usuario o contraseña.

Puedes generar un token de acceso personal nuevo o utilizar la terminal "Crear una autorización nueva" en la API de autorizaciones de OAuth para generar un nuevo token de OAuth. Para obtener más información, consulta la sección"Crear un token de acceso personal para la línea de comandos". Entonces utilizarías estos tokens para autenticarte utilizando un token de OAuth con la API de GitHub. La única vez que necesitas autenticarte con tu usuario y contraseña es cuando creas tu token de OAuth o cuando utilizas la API de autorizaciones de OAuth.

Utilizar la API de Autorizaciones de OAuth con autenticación de dos factores

Cuando haces llamadas a la API de Autorizaciones de OAuth, la Autenticación Básica requiere que utilces una contraseña de única vez (OTP) así como tu nombre de usuario y contraseña en vez de utilizar tokens. Cuando intentas autenticarte con la API de Autorizaciones de OAuth, el servidor te responderá con un 401 Unauthorized y con uno de estos encabezados para decirte que necesitas un código de autenticación de dos factores:

X-GitHub-OTP: required; SMS or X-GitHub-OTP: required; app.

Este encabezado te dice cómo tu cuenta recibe sus códigos de autenticación de dos factores. Dependiendo de cómo configures tu cuenta, podrías recibir tus códigos de OTP por SMS o utilizarías una aplicación tal como Google Autenticator o como 1Password. Para obtener más información, consulta "Configurar autenticación de dos factores". Passa la OTP en el encabezado:

$ curl --request POST \
  --url https://api.github.com/authorizations \
  --header 'authorization: Basic PASSWORD' \
  --header 'content-type: application/json' \
  --header 'x-github-otp: OTP' \
  --data '{"scopes": ["public_repo"], "note": "test"}'