Error AL0133: Argument 6: cannot convert from ‘Text’ to ‘var SecretText’

En Eyna Softeam resolvemos diariamente tickets de mantenimiento, esto nos permite estar al día y proponer soluciones a posibles errores. Ayer identificamos algo que viene desde la versión BC23 y ha ido mejorando en sucesivas versiones:

Error AL0133: Argument 6: cannot convert from ‘Text’ to ‘var SecretText’

Hoy queremos hablaros de un nuevo tipo de dato que llegó a Business Central en la versión BC23 para quedarse: SecretText.

Su propósito es sencillo pero importante: contener información sensible como tokens de acceso en integraciones vía API, credenciales o códigos secretos.

Lo relevante de SecretText es que sólo se puede utilizar como variable, valor de retorno y parámetro y por tanto no puede utilizarse como campo en tablas o páginas. También, otra característica de este tipo de dato es que no se puede inspeccionar su contenido durante una depuración, lo que evita que accidentalmente queden expuestos valores críticos.

Hasta ahora era habitual en las integraciones de BC guardar temporalmente el token de acceso en una tabla de configuración para reutilizarlo mientras fuera válido, evitando así solicitar uno nuevo en cada llamada. Con la introducción de SecretText esto deja de ser posible, ya que las librerías de autorización HTTP ahora trabajan directamente con este tipo de dato.

La duda que nos surge es: ¿entonces tengo que el token de acceso en cada consulta HTTP?

Y aquí es donde entra en juego la alternativa: IsolatedStorage.

Este tipo de dato estático de BC nos permite guardar datos sensibles en un espacio aislado de memoria con distintos alcances:

  • Por empresa.
  • Por usuario.
  • Por empresa y usuario.
  • Por extensión.

Algunas características clave de IsolatedStorage:

  • Es estática, no requiere instanciación.
  • Expone métodos sencillos para guardar (Set) y recuperar (Get) valores.
  • A partir de BC24 ya es posible almacenar datos de tipo SecretText directamente, en BC23 aún no estaba soportado.
  • Ofrece métodos adicionales para verificar si un valor existe (Contains) o eliminarlo (Delete), lo que facilita la gestión del ciclo de vida de los datos sensibles.

En definitiva, si antes usábamos campos de configuración o blobs para tokens de acceso de manera insegura, ahora la manera recomendada y segura es SecretText + IsolatedStorage. Con ello se garantiza que la información sensible se maneje de forma segura y cumpla con las buenas prácticas de seguridad, a la vez que en un caso como los tokens de acceso, podamos emplearlos mientras sigan vigentes.

Comparte el contenido en tus redes

Comenta la publicación

Error AL0133: Argument 6: cannot convert from ‘Text’ to ‘var SecretText’

Deja una respuesta

Últimas publicaciones