Skip to main content

Autorisation des applications OAuth

Vous pouvez connecter votre identité GitHub Enterprise Server à des applications tierces à l’aide d’OAuth. Quand vous autorisez une OAuth app, veillez à ce qu’il s’agisse d’une application de confiance, à vérifier par qui elle a été développée et à passer en revue les types d’informations auxquels elle veut accéder.

Quand une OAuth app souhaite vous identifier par le biais de votre compte sur GitHub, une page s’affiche avec les coordonnées du développeur de l’application et une liste des données spécifiques nécessaires.

Accès d’une OAuth app

LesOAuth apps peuvent avoir un accès en lecture ou en écriture à vos données GitHub Enterprise Server.

  • L’accès en lecture permet uniquement à une application de consulter vos données.
  • L’accès en écriture permet à une application de modifier vos données.

Conseil : Nous vous recommandons de revoir régulièrement vos intégrations autorisées. Supprimez toutes les applications et tous les jetons qui n’ont pas été utilisés depuis un certain temps. Pour plus d’informations, consultez « Examen de vos applications autorisées OAuth ».

À propos des étendues OAuth

Les étendues sont des groupes d’autorisations nommés qu’une OAuth app peut demander pour accéder aux données publiques et non publiques.

Quand vous souhaitez utiliser une OAuth app qui s’intègre à GitHub Enterprise Server, cette application vous indique le type d’accès à vos données dont elle a besoin. Si vous accordez l’accès à l’application, celle-ci pourra effectuer des actions en votre nom telles que la lecture ou la modification de données. Par exemple, si vous voulez utiliser une application qui demande l’étendue user:email, cette application aura accès en lecture seule à vos adresses e-mail privées. Pour plus d’informations, consultez « Étendues des applications OAuth ».

Remarque : Actuellement, vous ne pouvez pas limiter l’accès au code source à la lecture seule.

Un jeton possède les mêmes capacités d’accès aux ressources et d’exécution d’actions sur ces ressources que le propriétaire du jeton, et est en outre limité par toute portée ou autorisation accordée au jeton. Un jeton ne peut pas accorder des fonctionnalités d’accès supplémentaires à un utilisateur. Par exemple, une application peut créer un jeton d’accès configuré avec une étendue admin:org, mais si l’utilisateur de l’application n’est pas un propriétaire d’organisation, l’application ne reçoit pas d’accès administratif à l’organisation.

Le nombre de jetons émis par combinaison utilisateur/application/étendue est limité à dix, avec une limite de taux de dix jetons créés par heure. Si une application crée plus de 10 jetons pour le même utilisateur et les mêmes étendues, les jetons les plus anciens avec la même combinaison utilisateur/application/étendue seront révoqués. Toutefois, le fait d'atteindre la limite de débit horaire ne va pas révoquer votre jeton le plus ancien. Au lieu de cela, il déclenche une invite de ré-autorisation dans le navigateur, demandant à l’utilisateur de doubler vérifier les autorisations qu’il accorde à votre application. Cette invite est destinée à donner une pause à toute boucle infinie potentielle dans laquelle l’application est bloquée, car il n’y a pas de raison pour une application de demander dix jetons à l’utilisateur dans un délai d’une heure.

Types de données demandées

Les OAuth apps peuvent demander plusieurs types de données.

Type de donnéesDescription
État de commitVous pouvez accorder à une application l’accès à votre état de commit. L’accès à l’état de commit permet aux applications de déterminer si une génération réussit par rapport à un commit spécifique. Les applications n’ont pas accès à votre code, mais elles peuvent lire et écrire des informations d’état pour un commit spécifique.
DéploiementsL’accès à l’état de déploiement permet aux applications de déterminer si un déploiement réussit par rapport à un commit spécifique pour des dépôts publics et privés. Les applications n’ont pas accès à votre code.
GistsL’accès aux Gists permet aux applications de lire vos Gist publics et secrets et d’écrire dans ces derniers.
HooksL’accès aux webhooks permet aux applications de lire ou d’écrire des configurations de hook sur les dépôts que vous gérez.
NotificationsL’accès aux notifications permet aux applications de lire vos notifications GitHub Enterprise Server telles que les commentaires sur les problèmes et les demandes de tirage (pull request). Toutefois, les applications ne peuvent toujours pas accéder à quoi que ce soit dans vos dépôts.
Organisations et équipesL’accès aux organisations et équipes permet aux applications d’accéder à l’appartenance aux organisations et équipes et de la gérer.
Données personnelles de l’utilisateurLes données utilisateur incluent des informations trouvées dans votre profil utilisateur telles que votre nom, votre adresse e-mail et votre emplacement.
RéférentielsLes informations de dépôt incluent les noms des contributeurs, les branches que vous avez créées et les fichiers réels dans votre dépôt. Les applications peuvent demander l’accès à des dépôts publics ou privés au niveau de l’utilisateur.
Suppression de dépôtLes applications peuvent demander à supprimer des dépôts que vous administrez, mais elles n’auront pas accès à votre code.

Demande d’autorisations mises à jour

Quand des OAuth apps demandent de nouvelles autorisations d’accès, elles vous informent des différences entre leurs autorisations actuelles et les nouvelles autorisations.