https://d226lax1qjow5r.cloudfront.net/blog/blogposts/vonage-silent-authentication-is-now-in-beta/silent_auth_beta.png

La autenticación silenciosa de Vonage ya está en fase beta

Publicado el April 16, 2024

Tiempo de lectura: 5 minutos

Nota: Este artículo se publicó originalmente cuando la Autenticación silenciosa estaba en Beta. La Autenticación Silenciosa ya está disponible en general.

Nos complace anunciar que Autenticación silenciosa de Vonage dentro de Verify API de Vonage está ahora en versión Beta¡! Anunciamos la incorporación de esta funcionalidad en enero del año pasado, pero hay algunas mejores prácticas y formas eficientes de implementar la API que voy a repasar.

¿Qué es la autenticación silenciosa?

La autenticación silenciosa es un nuevo mecanismo de autenticación diseñado como alternativa a la contraseña de un solo uso (OTP) de la autenticación de dos factores. El uso de hecho de la OTP consiste actualmente en enviar un código o PIN a un dispositivo para su verificación o utilizar una herramienta de terceros como Google Authenticator para generar un código cifrado, sensible al tiempo, que el usuario puede enviar para su verificación y que también se configura en el servidor.

La autenticación silenciosa de Vonage elimina la necesidad de un segundo paso en este proceso al integrarse con tus aplicaciones para crear un rastreo "con un solo clic" en una solicitud HTTP para determinar la autenticidad del usuario.

¿Cómo lo hace?

En una solicitud de autenticación silenciosa, Vonage verifica tu módulo de identidad del suscriptor (SIM) para asegurarse de que coincida con los registros del proveedor. Puedes obtener más información sobre las nuevas API de red de Vonage presentadas a principios de este año, que incluyen otra capa similar de seguridad a través de una API llamada Intercambio de SIM. SIM Swap funciona comprobando cuánto tiempo ha estado activa la tarjeta SIM de un usuario en el dispositivo que se está utilizando. Para que funcione, la autenticación debe ser iniciada por el dispositivo del usuario usando una conexión celular únicamente, lo que lo hace un poco más complicado para las integraciones de aplicaciones web, pero dentro de las aplicaciones móviles nativas puedes usar el SDK para Android o SDK para iOS para forzar la conexión a través del celular.

Aquí hay un gran equilibrio entre los usuarios finales y los desarrolladores. Básicamente, para los usuarios, la autenticación se convierte en un proceso fluido que se reduce a pulsar un botón. Sin embargo, bajo el capó, los desarrolladores necesitan comprender la complejidad subyacente para implementarlo. Por ejemplo, este es el flujo de trabajo si utilizas una aplicación web con NodeJS:

Diagram showing the Silent Authentication Flow

Esto incluye algunas de las mejores prácticas, así como la integración de vainilla - te darás cuenta de que el request_id se almacena en una cookie. Debido a que el flujo de trabajo tiene que ir y venir con el servidor varias veces, el flujo de trabajo es vulnerable a un Ataque Persona-en-el-medio. El código en el servidor puede evitar esto mediante el almacenamiento y la comprobación de que la request_id coincida a lo largo del flujo de trabajo.

Cabe destacar que el flujo de trabajo de ejemplo anterior corresponde a la implementación sincrónica. Puede utilizar la autenticación silenciosa de forma asíncrona mediante webhooks. Sin embargo, la implementación para hacerlo de forma asíncrona sería más difícil de documentar eficazmente, por lo que nos hemos ceñido a explicar sólo la primera. Puede más información sobre las retrollamadas asíncronas aquí.

Ejemplos de códigos de autenticación silenciosa

Existen algunos cURL en el artículo que escribí cuando anunciamos la versión alfapero ahora estamos un poco más avanzados y supongo que querrás ver algunos ejemplos reales de su uso en la práctica, ¿verdad?

No hay problema. Hay dos formas rápidas de verlo en la práctica:

En express y su correspondiente tutorial muestra el ejemplo más sencillo de envío y análisis de las solicitudes que recibe de la API.

Para un ejemplo más orientado al framework, he creado la aplicación Autenticación silenciosa Laravel de Laravel. Sí, es php y Laravelpero si eso no es lo tuyo entonces la implementación debe ser legible y portable a otros frameworks. Laravel, por ejemplo, fue influenciado por y ahora también influye en Ruby on Rails y dentro del mundo PHP Symfony fue influenciado por e influye en Python Djangode Python, y Spring Boot de Java. ¡Autenticación de lujo para todos!

La autenticación silenciosa forma parte de Vonage Verify V2 - por lo tanto, tienes opciones disponibles si, por ejemplo, el flujo de trabajo de autenticación silenciosa falla porque el territorio no es compatible o el dispositivo está conectado a través de WiFi. Tienes otros flujos de trabajo disponibles, así que para volver a una OTP enviada por SMS, puedes añadirla al principio del flujo de trabajo. Dentro del código, una petición tendría el siguiente aspecto en cURL:

curl -X POST https://api.nexmo.com/v2/verify \ -H "Content-Type: application/json" \ -H "Authorization: Bearer XXXXX" \ -d '{"brand": "Your Brand", "workflow": [ {"channel": "silent_auth", "to": "447700900000"}, {"channel": "sms", "to": "447700900000"} ] }'

En la workflow puede especificar varias opciones en el orden en que desea intentar la autenticación.

Conclusión

La seguridad a través de la autenticación se está convirtiendo cada vez más en un aspecto esencial de las aplicaciones modernas. Esta es la razón por la que API de red de Vonage de Vonage pueden considerarse el comienzo de los "bloques de construcción" de la seguridad dentro de tu aplicación. La autenticación silenciosa, de manera similar, está diseñada para ser agregada como el primer intento de seguridad en la autenticación del usuario antes de recurrir a otros métodos como SMS o Voice.

¿Tiene alguna pregunta? Puedes inscribirte en nuestra comunidad Slack o etiquetarnos en X.

Compartir:

https://a.storyblok.com/f/270183/400x385/12b3020c69/james-seconde.png
James SecondePromotor senior de desarrollo PHP

Actor de formación con una disertación sobre la comedia, llegué al desarrollo de PHP a través de la escena de las reuniones. Puedes encontrarme hablando y escribiendo sobre tecnología, o tocando/comprando discos raros de mi colección de vinilos.