Crear una app OAuth de Slack para OpenConnector
Usa una app OAuth de Slack cuando OpenConnector necesite leer conversaciones de Slack, listar usuarios, enviar mensajes, subir archivos o gestionar reacciones a través del servicio slack.
Servicio de OpenConnector
| ID del servicio | Proveedor | Tipo de autenticación |
|---|---|---|
slack | Slack | OAuth2 |
El proveedor de Slack de OpenConnector usa Slack OAuth v2 y solicita scopes de Slack como channels:read, groups:read, im:read, mpim:read, scopes de historial, scopes de archivos, users:read, chat:write, im:write y scopes de reacciones.
Requisitos previos
- Un entorno de ejecución de OpenConnector en funcionamiento.
- Permiso para crear o gestionar una app de Slack para el espacio de trabajo de destino.
- Permiso para instalar apps en el espacio de trabajo de Slack, o acceso a un propietario o administrador del espacio de trabajo que pueda aprobar la instalación.
- El origen de OpenConnector que los usuarios abren en el navegador, como
http://localhost:3000ohttps://connect.example.com.
Paso 1: Configurar la URL de callback de OpenConnector
Construye la URL de callback añadiendo /oauth/callback a tu origen de OpenConnector.
Para pruebas locales, usa http://localhost:3000/oauth/callback. Si Slack no acepta tu URL de callback local, expón OpenConnector a través de un túnel HTTPS o un dominio público, configura OOMOL_CONNECT_ORIGIN, reinicia y usa la URL de callback pública, como https://connect.example.com/oauth/callback.
Paso 2: Crear una app de Slack
- Crea una app nueva.
- Elige el espacio de trabajo en el que quieres desarrollar o probar.
- Abre OAuth & Permissions.
- Añade la URL de callback exacta de OpenConnector en las URL de redirección.
- Añade los scopes de token de bot que necesiten tus acciones de OpenConnector.
- Guarda la configuración de la app.
La descripción general de OAuth de Slack es Installing with OAuth, y la referencia de scopes de Slack es Scopes.
Paso 3: Copiar las credenciales de cliente
Abre Basic Information de la app de Slack y copia:
| Valor de Slack | Campo de OpenConnector |
|---|---|
| Client ID | clientId |
| Client Secret | clientSecret |
No uses el token de bot como secreto de cliente OAuth. OpenConnector inicia el flujo OAuth y almacena la credencial de Slack resultante después de la autorización.
Paso 4: Guardar el cliente de Slack en OpenConnector
Usa la consola web de OpenConnector:
- Abre la consola web de OpenConnector, como
http://localhost:3000. - Abre Providers y selecciona Slack.
- Elige Configure OAuth Client o Edit OAuth Client.
- Pega el ID de cliente y el secreto de cliente de Slack.
- Elige Save OAuth Client.
Paso 5: Conectar y probar
Después de guardar el cliente OAuth, elige Connect en la página del proveedor Slack. Elige el espacio de trabajo de Slack, aprueba la app, vuelve a OpenConnector y confirma que la página del proveedor muestra el espacio de trabajo como conectado.
Entre las acciones de prueba de bajo riesgo se incluyen slack.list_conversations, slack.list_channels y slack.list_users.
Solución de problemas
| Síntoma | Qué comprobar |
|---|---|
| Slack rechaza la URL de redirección | Confirma que la URL de redirección de Slack es <openconnector-origin>/oauth/callback. Si Slack requiere HTTPS para tu configuración, usa un origen público HTTPS y configura OOMOL_CONNECT_ORIGIN. |
| La app no se puede instalar | Pide a un propietario o administrador del espacio de trabajo de Slack que apruebe la app si el espacio de trabajo restringe la instalación de apps. |
| Faltan canales | La visibilidad de canales públicos y privados depende de los scopes, la política del espacio de trabajo de Slack y si la app tiene acceso al canal. Invita a la app a los canales privados cuando sea necesario. |
| Fallan las acciones de mensajes | Confirma que la app tiene scopes de escritura como chat:write y que puede acceder a la conversación de destino. |
| Los cambios de scopes no se aplican | Reinstala o vuelve a conectar Slack después de cambiar los scopes para que la credencial conectada reciba los nuevos permisos. |
Wanta