En una era de pérdida total de datos por parte de gigantes de Internet y enjuiciamiento penal en un entorno digital, los usuarios tienen miedo de dejar cualquier información sobre ellos mismos. Especialmente cuando se trata de un servicio VPN, donde el usuario no desea ingresar sus datos personales incluso durante el registro, y el acceso al servicio en varias plataformas debe ser rápido y sin información innecesaria. Creamos nuestro servicio GuruVPN bajo el lema "VPN de la gente", por lo que era muy importante hacer la forma más simple y anónima de instalar y verificar usuarios.

En este artículo queremos compartir nuestra experiencia en la implementación de un sistema de autorización de usuarios en varias plataformas. Esta solución única nos permitió no recopilar ni almacenar datos personales de los usuarios. Absolutamente
Antecedentes
En la primera etapa, nuestro equipo decidió que la aplicación tendrá un sistema clásico de autorización / registro: correo electrónico o teléfono, para que el usuario pueda emitir y pagar una suscripción desde un dispositivo y activar el acceso en todos los dispositivos.
Elegimos un formato, comenzamos a escribir documentación, pero en algún momento surgió la pregunta: ¿cómo combinar los datos de suscripción en la App Store y Google Play, para que fuera posible sincronizarlos en ambas plataformas? Y para hacer esto de tal manera que se establezca un período de suscripción común, y además, en la salida, el sistema no contradijo nuestra posición de "no recopilar datos de usuario".
Por lo tanto, comenzamos a desarrollar un sistema que cumpliría con los siguientes puntos:
- no recopiló ni almacenó datos personales de los usuarios
- permitió la idea de suscripción auto-renovable en una base multiplataforma
Y nuestro equipo encontró un formato único: se desarrolló un sistema de tokens temporales para la autorización de escritorio.
Iniciar sesión
¿Cuál es el secreto de tal decisión?
El usuario necesita instalar la aplicación en su teléfono inteligente, pagar la suscripción de forma segura y rápida, y usar el código QR en una acción para autorizarla en otro dispositivo. Sin credenciales, inicie sesión y vuelva a comprar el acceso.
¿Cómo funciona para el usuario?
- Después de descargar el programa en el escritorio, aparece una pantalla de autorización en la que se muestra un código QR.
- Descargue e inicie la aplicación móvil desde App Store / Google Play con suscripción en la aplicación
- Escanee o ingrese el código de autorización en la aplicación móvil
- Después de una autorización exitosa, está esperando que se cargue la pantalla de control de conexión
- Elija un país para conectarse y haga clic en "Conectar"
- Después de obtener los permisos, se establecerá una conexión VPN
Cómo funciona realmente
- En la autorización principal, la aplicación de escritorio solicita un token temporal;
- Se genera automáticamente un token temporal en la base de datos y se entrega a la aplicación de escritorio. Para la máxima seguridad de los datos, la vida útil de nuestro token es de 15 minutos;
- La aplicación de escritorio muestra en la pantalla principal un código QR y un token abierto para una aplicación móvil;
- La aplicación móvil escanea el código QR y reconoce el código ingresado manualmente por el usuario y lo envía a la solicitud API para generar una confirmación del dispositivo del usuario;
- La aplicación de escritorio solicita permiso del servidor del usuario al que está vinculado el token, si existe el enlace; la API proporciona la identificación y el token para autorización sin ningún problema.
Por lo tanto, fue posible implementar un esquema de autorización de usuario muy simple y, lo más importante, anónimo en el sistema, que le permite proporcionar acceso a la aplicación en varias plataformas sin pasos innecesarios con una sola suscripción.
Cómo funciona en la tienda de aplicaciones móviles. Por ejemplo, en la App Store
No nos detendremos en el proceso de implementación de compras en la aplicación en detalle, ya hemos
escrito mucho al respecto en Habré.
En la primera etapa, el estado del recibo y la suscripción se verifican en el servidor, se verifican los parámetros de solicitud. Tras una verificación exitosa, la aplicación devuelve el estado de suscripción y el token de sesión.
Después de la validación de la verificación, el algoritmo comienza:

Resultado
El proceso de autorización es muy simple y rápido: en promedio, instalar y autorizar una aplicación en un escritorio toma solo un par de minutos y requiere un esfuerzo mínimo por parte del usuario. En el proyecto, según lo planeado, resultó implementar un sistema de compra en la aplicación en un formato multiplataforma, mientras se mantenía el anonimato completo de los datos del usuario, lo cual es un hecho muy importante para el servicio VPN. Y lo que es importante, pudimos implementar el proceso de tal manera que se correspondía completamente con el espíritu del proyecto: "una aplicación para las personas".