paint-brush
Cómo construir una aplicación 2FA en Python por@plivo
163,005 lecturas
163,005 lecturas

Cómo construir una aplicación 2FA en Python

por Plivo2022/06/01
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Es más fácil de lo que piensa agregar autenticación de dos factores (2FA) a sus aplicaciones. El secreto es utilizar las API proporcionadas por una plataforma de comunicaciones en la nube como Plivo. A veces, la mejor manera de aprender a codificar algo es mirar un ejemplo, por lo que creamos una aplicación de muestra en GitHub. Para usarlo, necesita una cuenta de Plivo; puede registrarse de forma gratuita y obtener suficientes créditos gratuitos para arrendar un número de teléfono con el que enviar o recibir mensajes y crear algunas aplicaciones de inicio. Si es la primera vez que usa las API de Plivo, la documentación de Plivo proporciona instrucciones sobre cómo configurar un entorno de desarrollo de Python, incluida la instalación del SDK de Python de Plivo, la configuración de un servidor Flask y la instalación de ngrok, que expone los servidores locales que se ejecutan detrás de NAT y firewalls. a la Internet pública a través de túneles seguros.

Company Mentioned

Mention Thumbnail
featured image - Cómo construir una aplicación 2FA en Python
Plivo HackerNoon profile picture


Es más fácil de lo que piensa agregar ( ) a sus aplicaciones.


El secreto es utilizar las API proporcionadas por una plataforma de comunicaciones en la nube como Plivo.


A veces, la mejor manera de aprender a codificar algo es mirando un ejemplo, por lo que hemos creado un en GitHub.


Para usarlo, necesita una cuenta de Plivo; puedes y obtenga suficientes créditos gratis para arrendar un número de teléfono con el que enviar o recibir mensajes y crear algunas aplicaciones de inicio.


Si es la primera vez que usa las API de Plivo, Plivo's proporciona instrucciones sobre cómo configurar un entorno de desarrollo de Python, incluida la instalación del SDK de Python de Plivo, la configuración de un servidor Flask y la instalación de ngrok, que expone los servidores locales que se ejecutan detrás de NAT y firewalls a la Internet pública a través de túneles seguros.


La aplicación de muestra utiliza Redis, una base de datos de clave-valor en memoria, caché y agente de mensajes.


Si aún no se está ejecutando (o ), escriba redis-server en una ventana de terminal para iniciarlo.


Una vez que haya eliminado los requisitos previos, use git para clonar el repositorio de la aplicación de muestra en su propio directorio, o simplemente puede .


Instale las dependencias de la aplicación de muestra utilizando el archivo requirements.txt incluido ejecutando pip install -r requirements.txt en el directorio de la aplicación.


Edite config.py y cambie algunos elementos.


Reemplace los marcadores de posición de autenticación con sus credenciales de autenticación de la consola de Plivo.


  • Reemplace el marcador de posición del número de teléfono con un número de teléfono real en (por ejemplo, +). Use su propio número de Plivo para que pueda probar el código fácilmente.


  • Reemplace la ID de PHLO con una cadena vacía, ya que estamos haciendo nuestra 2FA únicamente usando código.

Una mirada al código

La aplicación se ejecuta bajo el marco Flask. El archivo twofactor.py define una función que utiliza el algoritmo OTP basado en el tiempo para generar una contraseña de un solo uso (OTP) aleatoria de seis dígitos y otras funciones que envían la OTP al número de destino especificado.


El archivo route.py usa las funciones para generar una OTP, enviarla y verificar la entrada del usuario.


Cuando esté listo para verlo en acción, puede ayudarte a probar tu código.

Simple y confiable

Nuestras API simples funcionan en conjunto con nuestra red global integral. Las rutas directas premium de Plivo garantizan las tasas de entrega más altas posibles y los tiempos de entrega más cortos posibles para sus mensajes de voz y SMS 2FA. Compruébelo usted mismo: regístrese para obtener una cuenta de prueba gratuita.


바카라사이트 바카라사이트 온라인바카라