# Applications GitHub vs. Applications OAuth : Choisissez la bonne connexion GitHub
Comparez les Apps GitHub et les Apps OAuth pour l'intégration Logto. Découvrez les principales différences en matière de sécurité, de permissions, de gestion des jetons, et choisissez la bonne méthode d'authentification GitHub pour votre application.
Lorsque tu intègres l'authentification GitHub dans ton application Logto, tu as deux options : les Apps GitHub et les Apps OAuth GitHub. Bien que les deux permettent la fonctionnalité « Se connecter avec GitHub », elles offrent une expérience fondamentalement différente en termes de sécurité, de gestion des jetons et d'accès à l'API. Ce guide t'aidera à comprendre les différences clés et à choisir la meilleure approche selon ton cas d'usage.
Contexte : Deux chemins vers l'intégration GitHub
La documentation actuelle de Logto te guide pour la configuration d'une App OAuth GitHub pour l'authentification sociale. C'est l'option la plus simple et directe qui fonctionne parfaitement pour les besoins d'authentification basiques. Cependant, les Apps GitHub représentent l'approche moderne recommandée par GitHub lui-même, offrant des fonctions de sécurité renforcées et un contrôle plus fin.
On peut voir les choses ainsi : les Apps OAuth équivalent à donner à quelqu'un un passe-partout pour ta maison — ils obtiennent un large accès une fois autorisés. Les Apps GitHub, au contraire, sont comme un système de serrure intelligente avec des codes d'accès spécifiques pour chaque pièce — les utilisateurs peuvent accorder des permissions précises exactement pour ce dont ton application a besoin.
Différences clés en un coup d'œil
Permissions : larges vs. très précises
- Apps OAuth utilisent des étendues larges — demander
repoaccorde un contrôle total sur le dépôt. - Apps GitHub utilisent des permissions très précises — tu peux demander seulement « Issues : lecture » sans toucher au code. Les utilisateurs peuvent aussi sélectionner les dépôts au moment de l'installation, sans accorder d'accès global.
Sécurité des jetons : permanents vs. expirants
- Apps OAuth délivrent des jetons qui n'expirent jamais (jusqu'à révocation manuelle), sans mécanisme de renouvellement.
- Apps GitHub utilisent des jetons de courte durée (expiration d'1 heure) avec support automatique du renouvellement — bien plus sécurisé pour les applications fonctionnant en continu.
Identité : utilisateur vs. bot
- Apps OAuth agissent toujours en tant qu'utilisateur autorisant (par exemple
@octocat) et partagent leur limite de requêtes (5 000 requêtes/heure). - Apps GitHub peuvent agir de façon indépendante avec leur propre identité bot (par exemple
@mon-app[bot]) et bénéficient de limites de requêtes évolutives avec l'usage — idéal pour l'automatisation.
Contrôle d'accès : tout ou rien vs. sélectif
- Apps OAuth requièrent une autorisation unique pour toutes les ressources accessibles.
- Apps GitHub permettent à l'utilisateur d'installer l'app, de choisir des dépôts spécifiques, et de recevoir des notifications webhook à propos des changements de permissions — offrant ainsi plus de transparence et de contrôle.
Persistance : dépendant de l'utilisateur vs. indépendant
- Apps OAuth sont liées à l'utilisateur autorisant — si ce développeur perd l'accès ou quitte une organisation, l'app cesse de fonctionner.
- Apps GitHub continuent de fonctionner même si le développeur ayant installé l'app quitte ton organisation — garantissant un service ininterrompu pour l'automatisation et les intégrations.
Laquelle choisir ?
Les deux Apps GitHub et Apps OAuth fonctionnent avec le connecteur social de Logto. Le Secret Vault de Logto stocke de manière sécurisée les jetons de chaque intégration, mais chacune offre une expérience distincte :
Authentification sociale basique avec les Apps OAuth
Si tu as juste besoin d'authentifier les utilisateurs (« Se connecter avec GitHub ») sans appeler les APIs GitHub plus tard, le chemin OAuth App est le plus rapide :
- Configuration simple : les utilisateurs autorisent ton App OAuth et se connectent via GitHub.
- Les jetons sont longue durée (pas de renouvellement) : Logto peut stocker le jeton d'accès dans le Secret Vault, mais il n'y a pas de mécanisme de renouvellement — les jetons restent valides jusqu'à révocation.
- Idéal quand tu n'as besoin que de l'identité de l'utilisateur (email, nom, avatar) sans travail automatisé via API.
Pourquoi choisir cette option : plus rapide à mettre en place pour les prototypes ou apps nécessitant uniquement la connexion et une synchronisation occasionnelle du profil.
Intégration renforcée avec les Apps GitHub
Choisis une App GitHub lorsque ton application nécessite un accès continu aux APIs GitHub, de l'automatisation en arrière-plan, ou une sécurité accrue :
- Permissions très précises et sélection de dépôts par installation pour minimiser l'accès et garder de la traçabilité.
- Les jetons sont de courte durée (généralement 1h) et les Apps GitHub peuvent fournir des refresh tokens ; quand activé, Logto stocke aussi bien les jetons d'accès que de renouvellement dans le Secret Vault et gère leur rotation pour que ton backend reste fonctionnel sans reconnexion utilisateur.
- L'identité app/bot améliore l'attribution et des limites de requêtes évolutives offrent une meilleure fiabilité pour une forte automatisation.
Idéal pour :
- Plateformes SaaS qui gèrent des dépôts GitHub pour le compte des utilisateurs
- Agents IA qui interagissent avec le code, les issues, ou des pull requests
- Applications nécessitant un accès API prolongé
- Outils exécutant des automatisations en arrière-plan
Créer une App GitHub avec Logto
La création d'une App GitHub suit un schéma semblable aux Apps OAuth avec quelques différences clés. La migration d'une App OAuth vers une App GitHub nécessite un effort minimal.
Création d'une App GitHub
-
Navigue dans « Paramètres GitHub > Paramètres développeur > Apps GitHub »
-
Clique sur « Nouvelle App GitHub »
-
Configure :
- Nom de l'App GitHub : L'identifiant unique de ton app
- URL Homepage : Le site web de ton application
- URL Callback : L'URI de rappel de ton connecteur Logto (identique à l'App OAuth)
- Demander l'autorisation utilisateur (OAuth) lors de l'installation : Active cette option
- Webhook : Optionnel, selon tes besoins
- Permissions : Sélectionne des permissions très précises (ex : « Issues : lecture »)
- Permissions utilisateur : Ajoute des permissions de compte si tu agis au nom des utilisateurs
-
Génère un client secret (comme pour l'App OAuth)

Configuration dans Logto
La configuration du connecteur Logto est quasiment identique :
- Saisis l'ID Client issu de ton App GitHub
- Ajoute le secret client
- Active « Stocker les jetons pour accès API persistant » si tu as besoin d'interroger les APIs GitHub
- Différence critique - Scopes :
- Contrairement aux Apps OAuth (où il faut ajouter les scopes dans le champ scope de Logto), les permissions de l'App GitHub se configurent dans les paramètres de ton App GitHub.
- Laisse simplement le champ scope vide dans Logto
- Demander un refresh token (optionnel)
- Ajoute
offline_accessdans le champ scope de Logto pour activer les refresh tokens - GitHub délivre automatiquement un refresh token, et Logto gère la rotation tout en stockant les deux jetons dans le Secret Vault
- Remarque : les Apps OAuth ne prennent pas en charge les refresh tokens — leurs jetons d'accès n'expirent jamais, donc
offline_accessn'a pas d'effet. Cela change avec l'utilisation des Apps GitHub pour l'intégration.
- Ajoute

Conclusion
Les Apps OAuth restent une option valable pour l'authentification de base, cependant les Apps GitHub incarnent l'avenir des intégrations GitHub. Elles offrent une sécurité supérieure via l'expiration des jetons, des modèles de permissions plus précis et un meilleur contrôle pour l'utilisateur sur l'accès.
Pour les utilisateurs Logto, les deux choix fonctionnent avec le connecteur social. Le choix dépend de tes besoins spécifiques :
- Commence simplement avec une App OAuth si tu veux seulement l'authentification
- Passe aux Apps GitHub quand tu as besoin d'accès API, d'automatisation ou de sécurité renforcée
Et rappelle-toi — le Secret Vault de Logto et la rotation automatique des jetons rendent la gestion des jetons d'App GitHub aussi simple qu'avec les Apps OAuth, sans sacrifier la sécurité. Que tu construises un assistant IA pour le code, une plateforme de gestion de projets, ou un outil de productivité développeur, tu as désormais les clés pour choisir la bonne intégration GitHub pour ton application Logto.
Prêt à commencer ? Consulte le connecteur GitHub de Logto pour intégrer l'authentification GitHub dès aujourd'hui.

