Bien, puede parecer inseguro a primera vista, pero, si el bot realiza la verificación de usuario correctamente, dará 100% de confianza en la autenticidad del número de teléfono del usuario. Y su autenticidad se prueba mediante el mecanismo de autenticación de Telegram (que es la verificación de SMS).
Como comentó ximaera:
Asegúrese de verificar si la identificación del usuario con el que se está comunicando coincide con el valor user_id del contacto que ha recibido
Cualquier aplicación de telegramas que envíe cualquier contacto como objeto con las propiedades first name
, last name
y phone number
. No hay otras formas en que la API de Telegram permita hacerlo.
Y el bot recibe este objeto con user_id
añadido por el servidor de telegramas. Esta propiedad adicional es igual a chat_id
de usuario con este número de teléfono.
Entonces, parece que es suficiente comparar user_id
del contacto con chat_id
del usuario que envió este contacto.
K.B. dijo:
Los números de teléfono son muy fáciles de falsificar
Nuestra aplicación web utiliza la verificación por SMS del número de teléfono durante el registro. Lo mismo se hace por telegrama. Por lo tanto, nuestro mecanismo de autenticación no es más seguro que el de Telegram.
Si el dispositivo del usuario es robado / perdido / comprometido de otra manera, el token puede ser revocado
Si el teléfono es robado / perdido y no está protegido con PIN / huella digital / otro, el nuevo propietario del teléfono tendrá todos los recursos para recuperar el control de la cuenta de cualquier usuario.
Por supuesto, las medidas de seguridad no son superfluas, especialmente cuando se extiende la zona de confianza a un servicio de terceros. Pero creo que la seguridad de Telegram está muy por delante de la seguridad de las aplicaciones normales, por lo que, una vez integrada, puede utilizarse aún más como mecanismo de autorización, en lugar de códigos de verificación de SMS.