Parcourir la documentation

Créer une app OAuth GitHub pour OpenConnector

Utilisez une app OAuth GitHub lorsqu’OpenConnector a besoin d’une connexion GitHub autorisée par l’utilisateur. Une app OAuth fournit un flux d’autorisation dans le navigateur ; un jeton d’accès personnel permet une configuration de jeton gérée par un administrateur.

Service OpenConnector

ID du serviceFournisseurType d’authentification
githubGitHubOAuth2

Le fournisseur OAuth GitHub d’OpenConnector peut demander des scopes comme read:user, user:email, repo, workflow et delete_repo. Accordez uniquement les scopes nécessaires aux opérations prévues.

Prérequis

  • Un runtime OpenConnector en cours d’exécution.
  • Un compte ou une organisation GitHub où vous pouvez créer des apps OAuth.
  • L’origine OpenConnector ouverte par les utilisateurs dans le navigateur, par exemple http://localhost:3000 ou https://connect.example.com.

Étape 1 : définir l’URL de callback OpenConnector

Ajoutez /oauth/callback à l’origine OpenConnector pour construire l’URL de callback. Pour un test local, utilisez http://localhost:3000/oauth/callback. Pour un déploiement public, définissez OOMOL_CONNECT_ORIGIN, redémarrez OpenConnector et utilisez l’URL de callback publique, par exemple https://connect.example.com/oauth/callback.

Étape 2 : enregistrer une app OAuth GitHub

Dans GitHub :

  1. Ouvrez Settings.
  2. Ouvrez Developer settings.
  3. Ouvrez OAuth Apps.
  4. Choisissez New OAuth App.
  5. Renseignez le nom de l’app et l’URL de la page d’accueil.
  6. Définissez Authorization callback URL sur l’URL de callback OpenConnector exacte.
  7. Enregistrez l’app.

Consultez le guide officiel GitHub Creating an OAuth app. Une app OAuth GitHub ne possède qu’une seule URL de callback d’autorisation ; créez donc des apps distinctes pour les environnements local, de staging et de production si leurs URL diffèrent.

Étape 3 : copier les identifiants du client

Depuis la page de l’app OAuth GitHub, copiez :

Valeur GitHubChamp OpenConnector
Identifiant clientclientId
Secret clientclientSecret

Étape 4 : enregistrer le client GitHub dans OpenConnector

Utilisez la console web d’OpenConnector :

  1. Ouvrez la console web d’OpenConnector, par exemple http://localhost:3000.
  2. Ouvrez Providers et sélectionnez GitHub.
  3. Choisissez Configure OAuth Client ou Edit OAuth Client.
  4. Collez l’ID et le secret du client GitHub.
  5. Choisissez Save OAuth Client.

Étape 5 : connecter et tester

Après avoir enregistré le client OAuth, choisissez Connect sur la page du fournisseur GitHub. Approuvez l’app OAuth GitHub, revenez dans OpenConnector et vérifiez que la page du fournisseur indique que le compte est connecté.

Utilisez github.get_current_user comme opération de test à faible risque depuis la liste des opérations de la console.

Résolution des problèmes

SymptômeVérification
Incompatibilité de l’URI de redirectionL’URL de callback d’autorisation GitHub doit correspondre exactement à <openconnector-origin>/oauth/callback.
Le mauvais compte a autorisé l’appDéconnectez-vous de GitHub ou utilisez un profil de navigateur vierge avant de lancer l’autorisation.
Les opérations sur les dépôts échouentLa connexion ne possède peut-être pas le scope repo, ou l’utilisateur n’a pas accès au dépôt cible.
Les opérations de workflow échouentLa connexion ne possède peut-être pas le scope workflow. Reconnectez-la après avoir ajusté les scopes demandés.
Les opérations de suppression échouentÉvitez delete_repo sauf si vous avez réellement besoin d’opérations destructrices sur les dépôts.