Introducción
Al utilizar una cadena que realiza varias llamadas a la API con un token de autenticación que caduca, como los que utilizan las API de Workiva, existe el riesgo de que el token caduque antes de que se inicien todas las llamadas. Si esto ocurre, las llamadas a la API que queden fallarán. Reautenticarse antes de cada llamada a la API podría evitar esta incidencia, pero añadiría una sobrecarga adicional a la cadena.
Esta guía explica cómo implementar la plantilla Actualizar tokens de OAuth dinámicamente. La plantilla está pensada para cadenas que utilizan el Conector HTTP para realizar llamadas a la API en las que ésta requiere autenticación mediante un token que tiene fecha y hora de caducidad. Aunque está diseñada para la API de Workiva, puede adaptarse a otras API que utilicen métodos de autenticación similares.
La cadena incluye un mecanismo para actualizar automáticamente el token cuando está a punto de caducar. Resta 2 minutos (este valor puede ajustarse) de la hora de caducidad del token existente como memoria intermedia y lo compara con la hora actual. Si la hora actual es posterior a la hora de caducidad ajustada, la cadena desencadena el proceso de reautenticación para generar un nuevo código, que es emitido por la cadena. Si el código sigue siendo válido, la cadena omite la reautenticación y simplemente emite el código existente.
Nota: Si no se pasa ningún testigo a esta cadena, ésta pasará automáticamente por el proceso de autenticación y generará uno, lo que significa que esta cadena también se puede utilizar para nuestra solicitud de autenticación inicial (primera) junto con las posteriores.
Requisitos previos
Cadenas
Los siguientes conectores deben estar habilitados y configurados en tu espacio de trabajo:
La plantilla contiene las siguientes Variables del Espacio de trabajo diseñadas para su uso con la API Workiva, cámbialas y configúralas según proceda:
- wsv_platform (la ubicación de la aplicación en la que se encuentra tu espacio de trabajo, para EE.UU. utiliza "app", para UE/EMEA utiliza "eu", para APAC utiliza "apac")
- wsv_Client ID (ID de cliente de tu concesión de API)
- wsv_Client Secret (el secreto de tu concesión de API)
Despliega la Cadena
La Plantilla de Cadenas "Actualizar tokens OAuth dinámicamente" se encuentra en la sección Cadenas Workiva de la pantalla Plantillas.
Aquí te explicamos cómo encontrarlo:
- En Generador de cadenas, ve a la pestaña Plantillas.
- Selecciona Cadenas Workiva desde el menú de la parte superior
- Busca Plantilla de cadena de actualización dinámica de tokens de OAuth en la parte superior derecha y abre la plantilla
- Tras localizar la plantilla, haz clic en Nueva cadena para desplegarla en tu espacio de trabajo.
- Configura la plantilla para tu espacio de trabajo y tu API.
- Acuérdate de publicar la cadena una vez configurada y si quieres utilizarla tal cual, sin necesidad de hacer modificaciones.
Nota: Para obtener instrucciones detalladas sobre cómo crear una cadena a partir de una plantilla, consulta el artículo Crear y gestionar cadenas....
Configurar la plantilla
Esta plantilla puede añadirse a una cadena existente mediante el comando Ejecutar cadena y funcionará sin modificaciones adicionales para la API de Workiva. Consulta aquí las instrucciones para utilizar el comando de eventos "Ejecutar cadena".
Un ejemplo de uso de esta cadena sería dentro de un grupo de comandos existente que utiliza la iteración. Esta cadena podría ejecutarse desde un comando de evento "Ejecutar cadena" con su propia rama en el Grupo, estableciendo variables de cadena dinámicas con las salidas de cadena de esta cadena.
En el comando "Ejecutar cadena" puedes utilizar tu variable de cadena dinámica para asegurarte de que siempre se comprueba la última ficha.
A continuación, tienes que actualizar esa misma variable de cadena dinámica con el resultado del comando "Ejecutar cadena".
A continuación, puedes utilizar esas mismas variables de cadena dinámica en cualquier comando de solicitud HTTP que realices
Actualizar la hora del buffer
De forma predeterminada, esta plantilla añade 2 minutos al tiempo de caducidad del token existente para evitar problemas de sincronización. Puedes cambiar esto en el comando condicional "Comprobar si la hora de la fecha de caducidad está cerca".
Una vez editado este comando, haz doble clic en la primera variable "Consulta avanzada - convertir marca de tiempo de época - marca de tiempo" de las condiciones.
A continuación, puedes ajustar el valor de la cantidad como prefieras.