Skip to main content
Publicamos actualizaciones para la documentación con frecuencia y es posible que aún se esté traduciendo esta página. Para obtener la información más reciente, consulta la documentación en inglés.

Autenticación en la API REST

Puedes autenticarte en la API REST para acceder a más puntos de conexión y tener un límite de frecuencia más alto.

Acerca de la autenticación

Muchos puntos de conexión de la API REST necesitan autenticación o devuelven información adicional si te autenticas. Además, cuando te autenticas, puedes realizar más solicitudes por hora.

Para autenticar la solicitud, envía un token en el encabezado Authorization de la solicitud. En el ejemplo siguiente, reemplaza YOUR-TOKEN por una referencia al token:

curl --request GET \
--url "http(s)://HOSTNAME/api/v3/octocat" \
--header "Authorization: Bearer YOUR-TOKEN"

Nota: En la mayoría de los casos, puedes usar Authorization: Bearer o Authorization: token para pasar un token. Sin embargo, si vas a pasar un token web JSON (JWT), debes usar Authorization: Bearer.

Si intentas usar un punto de conexión de la API REST sin un token o con un token que no tenga permisos suficientes, recibirás una respuesta 404 Not Found o 403 Forbidden.

Autenticación con un personal access token

Si quieres utilizar la API REST de GitHub para uso personal, puedes crear una instancia de personal access token. Para más información sobre cómo crear una instancia de personal access token, consulta "Administración de tokens de acceso personal".

Autenticación con un token generado por una aplicación

Si quieres usar la API para una organización o en nombre de otro usuario, en GitHub se recomienda el uso de una instancia de GitHub App. Para obtener más información, vea «About authentication with a GitHub App».

También puedes crear un token de OAuth con una OAuth App para acceder a la API REST. Pero en GitHub se recomienda usar una GitHub App en su lugar. Las instancias de GitHub App permiten un mayor control sobre el acceso y el permiso que la aplicación.

Uso de autenticación básica

En algunos puntos de conexión de la API REST para instancias de GitHub App y OAuth App es necesario que uses la autenticación básica para acceder al punto de conexión. Usarás el Id. de cliente de la aplicación como nombre de usuario y el secreto de cliente como contraseña.

Por ejemplo:

curl --request POST \
--url "http(s)://HOSTNAME/api/v3/authorizations" \
--user ":"

Puedes encontrar el Id. de cliente y generar un secreto de cliente en la página de configuración de la aplicación. En el caso de las instancias de GitHub App propiedad del usuario, la página de configuración es https://github.com/settings/apps/APP-SLUG. En el caso de las instancias de GitHub App propiedad de la organización, la página de configuración es https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG. Reemplaza APP-SLUG por el nombre con slug de la aplicación y ORGANIZATION por el nombre con slug de la organización. Por ejemplo, https://github.com/organizations/octo-org/settings/apps/octo-app.

Autenticación en un flujo de trabajo de GitHub Actions

Si deseas usar la API en un flujo de trabajo de GitHub Actions, GitHub recomienda autenticarse con el GITHUB_TOKEN integrado en lugar de crear un token. Puedes conceder permisos a GITHUB_TOKEN con la clave permissions. Para obtener más información, vea «Autenticación automática de tokens».

Autenticación con nombre de usuario y contraseña

En GitHub se recomienda usar un token para autenticarse en la API REST en lugar de la contraseña. Tienes más control sobre lo que puede hacer un token y puedes revocar un token en cualquier momento. Pero también te puedes autenticar en la API REST mediante el nombre de usuario y la contraseña para la autenticación básica. Para ello, tendrás que pasar el nombre de usuario y la contraseña con la opción --user:

curl --request GET \
--url "http(s)://HOSTNAME/api/v3/user" \
--user USERNAME:PASSWORD

Información adicional