Parcourir la documentation

Créer une app OAuth Slack pour OpenConnector

Utilisez une app OAuth Slack lorsqu’OpenConnector doit lire les conversations Slack, répertorier les utilisateurs, envoyer des messages, téléverser des fichiers ou gérer les réactions via le service slack.

Service OpenConnector

ID du serviceFournisseurType d’authentification
slackSlackOAuth2

Le fournisseur Slack d’OpenConnector utilise Slack OAuth v2 et demande des scopes Slack comme channels:read, groups:read, im:read, mpim:read, les scopes d’historique et de fichiers, users:read, chat:write, im:write et les scopes de réactions.

Prérequis

  • Un runtime OpenConnector en cours d’exécution.
  • La permission de créer ou gérer une app Slack pour l’espace de travail cible.
  • La permission d’installer des apps dans cet espace de travail Slack, ou l’accès à un propriétaire ou administrateur capable d’approuver l’installation.
  • 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. Si Slack refuse votre URL de callback locale, exposez OpenConnector via un tunnel HTTPS ou un domaine public, définissez OOMOL_CONNECT_ORIGIN, redémarrez-le et utilisez l’URL de callback publique, par exemple https://connect.example.com/oauth/callback.

Étape 2 : créer une app Slack

Dans la gestion des apps de l’API Slack :

  1. Créez une nouvelle app.
  2. Choisissez l’espace de travail de développement ou de test.
  3. Ouvrez OAuth & Permissions.
  4. Ajoutez l’URL de callback OpenConnector exacte aux URL de redirection.
  5. Ajoutez les scopes du bot nécessaires aux opérations OpenConnector.
  6. Enregistrez les paramètres de l’app.

Consultez la présentation OAuth de Slack Installing with OAuth et sa référence Scopes.

Étape 3 : copier les identifiants du client

Ouvrez Basic Information pour l’app Slack et copiez :

Valeur SlackChamp OpenConnector
Identifiant clientclientId
Secret clientclientSecret

N’utilisez pas le jeton du bot comme secret du client OAuth. OpenConnector lance le flux OAuth et stocke les identifiants Slack obtenus après l’autorisation.

Étape 4 : enregistrer le client Slack 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 Slack.
  3. Choisissez Configure OAuth Client ou Edit OAuth Client.
  4. Collez l’ID et le secret du client Slack.
  5. Choisissez Save OAuth Client.

Étape 5 : connecter et tester

Après avoir enregistré le client OAuth, choisissez Connect sur la page du fournisseur Slack. Sélectionnez l’espace de travail Slack, approuvez l’app, revenez dans OpenConnector et vérifiez que la page du fournisseur indique que l’espace de travail est connecté.

Les opérations de test à faible risque comprennent slack.list_conversations, slack.list_channels et slack.list_users.

Résolution des problèmes

SymptômeVérification
Slack refuse l’URL de redirectionVérifiez que l’URL de redirection Slack est <openconnector-origin>/oauth/callback. Si votre configuration nécessite HTTPS, utilisez une origine publique HTTPS et définissez OOMOL_CONNECT_ORIGIN.
L’app ne peut pas être installéeDemandez à un propriétaire ou administrateur de l’espace de travail Slack d’approuver l’app si l’installation est limitée.
Des canaux sont absentsLa visibilité des canaux publics et privés dépend des scopes, de la politique de l’espace de travail et de l’accès de l’app. Invitez l’app dans les canaux privés si nécessaire.
Les opérations sur les messages échouentVérifiez que l’app possède des scopes d’écriture comme chat:write et peut accéder à la conversation cible.
Les modifications de scopes ne s’appliquent pasRéinstallez ou reconnectez Slack après avoir modifié les scopes pour que les nouveaux droits soient ajoutés aux identifiants connectés.