Skip to main content

Autorisation des applications OAuth

Vous pouvez connecter votre identité GitHub à 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.

Conseil : Vous devez vérifier votre adresse e-mail pour pouvoir autoriser une OAuth app.

Accès d’une OAuth app

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

  • 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, 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 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.
ProjetsAccédez aux projects de l’utilisateur et de l’organisation. Les applications peuvent demander un accès en lecture/écriture ou en lecture seule.

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.

OAuth apps et organisations

Quand vous autorisez une OAuth app pour votre compte personnel, vous voyez également comment l’autorisation va affecter chaque organisation dont vous êtes membre.

  • Pour les organisations avec des restrictions d’accès d’OAuth app, vous pouvez demander aux propriétaires d’une organisation d’approuver l’application pour une utilisation dans cette organisation. Si l’organisation n’approuve pas l’application, celle-ci pourra accéder uniquement aux ressources publiques de l’organisation. Si vous êtes propriétaire d’une organisation, vous pouvez approuver l’application vous-même.

  • Pour les organisations sans restrictions d’accès d’OAuth app, l’application sera automatiquement autorisée à accéder aux ressources de ces organisations. Ainsi, vous devez être prudent quant aux OAuth apps pour lesquelles vous approuvez l’accès aux ressources de votre compte personnel et à toutes les ressources de l’organisation.

Si vous faites partie d’organisations où l’authentification unique (SSO) SAML est activée et que vous avez créé une identité liée pour cette organisation en vous authentifiant via SAML auparavant, vous devez disposer d’une session SAML active pour chaque organisation chaque fois que vous autorisez une OAuth app.

Remarque : en cas de problèmes avec une OAuth app ou GitHub App autorisée qui accède à une organisation protégée par SAML, vous devez peut-être révoquer l’application sur votre page GitHub Apps autorisés ou OAuth apps autorisés, consultez l’organisation pour vous identifier et établir une session SAML active, puis essayez de réautoriser l’application en y accédant.

Pour aller plus loin