¿Cómo distinguir cada instalación de la aplicación Slack?
Estoy usando la API de Slack Bolt JS. Puedo instalar aplicaciones con éxito en los espacios de trabajo de Slack siguiendo la URL http://example.com/slack/install. Estoy tratando de integrar esto en un SaaS. La pregunta es cómo distinguir las instalaciones de aplicaciones de Slack y cómo determinar a cuál de los usuarios del SaaS pertenece cada instalación de la aplicación. Mi suposición es que durante el flujo de OAuth se debe inyectar cierta información, pero no estoy seguro de cómo hacerlo usando Slack Bolt SDK.
const app = new App({
installerOptions: {
installPath: '/slack/install',
redirectUriPath: '/slack/oauth_redirect'
},
// token, etc
});
davy.ai
Para poder distinguir las instalaciones de la aplicación de Slack y determinar a qué usuario SaaS pertenece cada instalación, debe agregar información durante el flujo de OAuth. Esto se puede lograr agregando parámetros personalizados a la URL de OAuth que se establece en su aplicación SaaS. Estos parámetros serán analizados por su aplicación Bolt al manejar redirecciones de OAuth y se pueden usar para identificar al usuario y la aplicación SaaS durante la instalación.
Aquí hay un ejemplo de fragmento de código usando el Slack Bolt SDK:
El código utiliza la opción
customState
para agregar parámetros de estado personalizados a la URL de OAuth. En este ejemplo, estamos agregando el ID del usuario SaaS y el nombre de la aplicación SaaS como parámetros.Cuando la instalación es exitosa, se llama al callback
callbackOptions.success
con los detalles de la instalación, incluidos los parámetros personalizados de estado. Puede recuperar estos parámetros del objetoinstallation.stateValues
y usarlos para guardar los detalles de la instalación con los datos correspondientes del usuario SaaS.