À propos de l’authentification
De nombreux points de terminaison de l’API REST nécessitent une authentification ou retournent des informations supplémentaires si vous êtes authentifié. De plus, vous pouvez effectuer plus de requêtes par heure lorsque vous êtes authentifié.
Vous pouvez authentifier votre requête en envoyant un jeton dans l’en-tête Authorization
de votre requête. Dans l’exemple suivant, remplacez YOUR-TOKEN
par une référence à votre jeton :
curl --request GET \
--url "https://HOSTNAME/api/v3/octocat" \
--header "Authorization: Bearer YOUR-TOKEN"
Remarque : Dans la plupart des cas, vous pouvez utiliser Authorization: Bearer
ou Authorization: token
pour passer un jeton. Toutefois, si vous passez un jeton web JSON (JWT), vous devez utiliser Authorization: Bearer
.
Si vous essayez d’utiliser un point de terminaison de l’API REST sans jeton ou avec un jeton disposant d’autorisations insuffisantes, vous recevez une réponse 404 Not Found
ou 403 Forbidden
.
Authentification avec un personal access token
Si vous souhaitez utiliser l’API REST GitHub à des fins personnelles, vous pouvez créer un personal access token. Pour plus d’informations sur la création d’un personal access token, consultez « Création d’un jeton d’accès personnel ».
Authentification avec un jeton généré par une application
Si vous voulez utiliser l’API pour une organisation ou au nom d’un autre utilisateur, GitHub vous recommande d’utiliser une GitHub App. Pour plus d’informations, consultez « À propos de l’authentification avec une application GitHub ».
Vous pouvez également créer un jeton OAuth avec une OAuth App pour accéder à l’API REST. Toutefois, GitHub vous recommande d’utiliser plutôt une GitHub App. Les GitHub App permettent de contrôler davantage l’accès et l’autorisation dont dispose l’application.
Utilisation de l’authentification de base
Pour y accéder, certains points de terminaison de l’API REST pour les GitHub App et les OAuth App vous obligent à utiliser une authentification de base. Vous utiliserez l’ID client de l’application comme nom d’utilisateur et le secret client de l’application comme mot de passe.
Par exemple :
curl --request POST \
--url "https://HOSTNAME/api/v3/authorizations" \
--user ":"
Vous pouvez trouver l’ID client et générer un secret client dans la page des paramètres de votre application. Pour les GitHub App appartenant à l’utilisateur, la page des paramètres est https://github.com/settings/apps/APP-SLUG
. Pour les GitHub App appartenant à l’organisation, la page des paramètres est https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
. Remplacez APP-SLUG
par le nom sluggifié de votre application et ORGANIZATION
par le nom sluggifié de votre organisation. Par exemple : https://github.com/organizations/octo-org/settings/apps/octo-app
.
Authentification dans un workflow GitHub Actions
Si vous voulez utiliser l’API dans un workflow GitHub Actions, GitHub vous recommande d’être authentifié avec le jeton GITHUB_TOKEN
intégré au lieu de créer un jeton. Vous pouvez accorder des autorisations au GITHUB_TOKEN
avec la clé permissions
. Pour plus d’informations, consultez « Authentification par jeton automatique ».
Authentification avec un nom d’utilisateur et un mot de passe
L’authentification avec un nom d’utilisateur et un mot de passe n’est pas prise en charge. Si vous essayez de vous authentifier avec un nom d’utilisateur et un mot de passe, vous recevez une erreur 4xx.