Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Cette version de GitHub Enterprise a été abandonnée le 2023-01-18. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Autres méthodes d’authentification

Vous pouvez utiliser l’authentification de base pour les tests dans un environnement hors production.

Bien que l’API fournisse plusieurs méthodes d’authentification, nous vous recommandons vivement d’utiliser OAuth pour les applications de production. Les autres méthodes fournies sont destinées à être utilisées pour des scripts ou des tests (c’est-à-dire des cas où une OAuth complète serait exagérée). Les applications tierces qui s’appuient sur GitHub Enterprise Server pour l’authentification ne doivent pas demander ou collecter d’informations d’identification GitHub Enterprise Server. Au lieu de cela, elles doivent utiliser le flux web OAuth.

Authentification de base

L’API prend en charge l’authentification de base telle que définie dans la norme RFC2617 à quelques différences près. La principale différence est que la norme RFC exige que les demandes non authentifiées reçoivent des réponses 401 Unauthorized. Dans de nombreux emplacement, cela divulguerait l’existence de données utilisateur. Au lieu de cela, l’API GitHub Enterprise Server envoie la réponse 404 Not Found. Cela peut occasionner des problèmes pour les bibliothèques HTTP qui supposent une réponse 401 Unauthorized. La solution consiste à créer manuellement l’en-tête Authorization.

Via personal access token

Nous vous recommandons d’utiliser les personal access token pour vous authentifier auprès de l’API GitHub.

$ curl -u USERNAME:TOKEN http(s)://HOSTNAME/api/v3/user

Cette approche est utile si vos outils prennent uniquement en charge une authentification de base, mais que vous souhaitez tirer parti des fonctionnalités de sécurité de personal access token.

Via un nom d’utilisateur et un mot de passe

Pour utiliser l’authentification de base avec l’API GitHub Enterprise Server, envoyez simplement le nom d’utilisateur et le mot de passe associés au compte.

Par exemple, la commande curl suivante à l’API vous authentifie si vous remplacez <username> par votre nom d'utilisateur GitHub Enterprise Server. (curl vous invite à entrer le mot de passe.)

$ curl -u USERNAME http(s)://HOSTNAME/api/v3/user

Si vous avec un authentification à deux facteurs activée, veillez à comprendre comment utiliser une authentification à deux facteurs.

Utilisation d’une authentification à deux facteurs

Quand l’authentification à deux facteurs est activée, l’authentification de base pour la plupart des points de terminaison dans l’API REST nécessite l’utilisation d’un personal access token ou d’un jeton OAuth au lieu de votre nom d’utilisateur et de votre mot de passe.

Vous pouvez générer un nouveau personal access token ou avec le point de terminaison « [Créer une autorisation][/rest/reference/oauth-authorizations#create-a-new-authorization] » dans l’API d’autorisations OAuth pour générer un nouveau jeton . Pour plus d’informations, consultez « Création d’un personal access token pour la ligne de commande ». Ensuite, vous utilisez ces jetons pour vous authentifier à l’aide d’un jeton OAuth auprès de l’API GitHub Enterprise Server. La seule fois où vous devez vous authentifier avec vos nom d’utilisateur et mot de passe est quand vous créez votre jeton OAuth ou utilisez l’API d’autorisations OAuth.

Utilisation de l’API d’autorisations OAuth avec une authentification à deux facteurs

Lorsque vous effectuez des appels à l’API d’autorisations OAuth, l’authentification de base exige que vous utilisiez un mot de passe à usage unique (OTP) et vos nom d’utilisateur et mot de passe au lieu de jetons. Lorsque vous tentez de vous authentifier auprès de l’API d’autorisations OAuth, le serveur répond avec un message 401 Unauthorized et l’un de ces en-têtes pour vous informer que vous avez besoin d’un code d’authentification à deux facteurs :

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

Cet en-tête vous indique comment votre compte reçoit ses codes d’authentification à deux facteurs. Selon la façon dont vous configurez votre compte, vous allez recevoir vos codes OTP via SMS, ou utiliser une application telle que Google Authenticator ou 1Password. Pour plus d’informations, consultez « Configuration de l’authentification à 2 facteurs ». Passez le mot de passe à usage unique dans l’en-tête :

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