Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Otros métodos de autenticación

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

En este artículo

¿Te ayudó este documento?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

O, learn how to contribute.

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

Aviso de Obsoletización: GitHub descontinuará la autenticación mediante contraseña para la API. Ahora debes autenticarte a la API de GitHub con un token de la API tal como un token de acceso de OAuth, una GitHub App, un token de acceso a la instalación, o un token de acceso personal, dependiendo de lo que necesites hacer con dicho token. Para obtener más información, consulta la publicación del blog.

La autenticación por contraseña para la API sigue disponible actualmente y no se ha obsoletizado en Servidor de GitHub Enterprise. GitHub anunciará la obsoletización y proporcionará notificaciones oportunas antes de que elimine la compatibilidad para esta característica.

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

Aviso de Obsoletización: GitHub descontinuará la autenticación mediante contraseña para la API. Ahora debes autenticarte a la API de GitHub con un token de la API tal como un token de acceso de OAuth, una GitHub App, un token de acceso a la instalación, o un token de acceso personal, dependiendo de lo que necesites hacer con dicho token. Para obtener más información, consulta la publicación del blog.

La autenticación por contraseña para la API sigue disponible actualmente y no se ha obsoletizado en Servidor de GitHub Enterprise. GitHub anunciará la obsoletización y proporcionará notificaciones oportunas antes de que elimine la compatibilidad para esta característica.

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"}'

¿Te ayudó este documento?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

O, learn how to contribute.