🔧 Adaptando el ejemplo
La clave estaba en la función generateprovisioningimage del objeto u_google_authenticator.
Originalmente descargaba el QR desde la API de Google Charts, pero hoy en día ese servicio ya no responde como debería.
Lo que he hecho es:
- Incorporar mi librería de generación de QR (DLL propia).
- Simplificar la función para que ya no reciba el tamaño como parámetro.
- Cambiar el retorno: en vez de devolver un Blob con la imagen, ahora devuelve un string con la ruta del fichero generado.
- Renombrar la función a of_generateprovisioningimage, siguiendo mi estilo habitual.
De esta manera, el código queda más simple, claro y compatible tanto en 32 como en 64 bits.
🎨 Personalización
Como siempre hago con mis ejemplos, he “decorado” al estilo de mis ejeplis, espero que no le importe a Bruce, que es el autor original del ejemplo.
📂 Proyecto de ejemplo
He publicado en github un ejemplo completo en PowerBuilder 2025 build 3711 en modo solución.
Os dejo los enlaces de descarga del proyecto de generación de códigos Qr en PowerBuilder y del proyecto de Visual Studio de la librería C# en .Net8:
github.com/rasanfe/ZxingBarcode
✍️ Conclusión
Con muy pocos cambios podemos tener en nuestras aplicaciones PowerBuilder códigos de verificación temporales (TOTP) compatibles con Google Authenticator, Microsoft Authenticator o cualquier app similar.
Es un paso muy importante para mejorar la seguridad de los desarrollos que hacemos a medida.
¡Nos vemos en el próximo artículo!
Y recuerda:
En PowerBuilder, los límites solo están en nuestra imaginación. 🚀
Comentarios
Publicar un comentario