tutorial rails hacer create con como autenticacion ruby-on-rails authentication ruby-on-rails-4 devise twilio

ruby-on-rails - rails - devise user logged in



Número de teléfono basado en la autenticación de Devise para aplicaciones móviles (3)

Soy el OP, y desde que hice esta pregunta, me encontré con una gema llamada active_model_opt https://github.com/heapsource/active_model_otp

Esta joya no es exactamente un complemento de diseño, pero hace exactamente lo que estaba buscando. Básicamente, al agregarlo a su modelo de usuario genera contraseñas de un solo uso que son válidas por un cierto período de tiempo. Incluso tiene una función incorporada para "autenticarse" utilizando la contraseña de un solo uso.

De todos modos, espero que cualquiera que haya encontrado esta pregunta pueda encontrar útil esta respuesta.

Todos sabemos que Devise es un estándar de facto para implementar autenticación en aplicaciones basadas en rieles.

De forma predeterminada, usa el correo electrónico como ID, pero también le permite usar nombres de usuario. También tiene el módulo "Confirmable" que le permite confirmar la dirección de correo electrónico enviando un correo electrónico y haciendo clic en el enlace para verificar su correo electrónico.

Estaba buscando algo similar para números de teléfono, básicamente aceptando números de teléfono como ID principal en lugar de correos electrónicos, y luego confirmo el número de teléfono enviando un código de autenticación como mensaje SMS al número del usuario a través de algo como Twilio, y luego dejo que el usuario confirmarlo ingresando el código (o incluso dejar que el usuario haga clic a través de un enlace generado para verificar al igual que lo hacen con los correos electrónicos)

La razón por la que esperaba que hubiera un módulo de diseño popular para esta funcionalidad era porque parece que la mayoría de las aplicaciones sociales móviles aceptan números de teléfono y confirman el número hoy en día. Debe haber alguien que piense que esto era un problema y un módulo de fuente abierta para esto. Sin embargo, no pude encontrar ninguno popular. En realidad, para ser precisos, aquí están los únicos tres enlaces relevantes que he encontrado sobre esto:

Ninguno de ellos conduce a una solución funcional (he intentado devise_sms_activable pero no funciona para los rieles 4, y desconfío del bajo número de estrellas). Quería preguntar si hay alguna solución viable para esto. ¿Me estoy perdiendo de algo? ¿Se ha mencionado este tema entre la comunidad de desarrolladores de Devise? Tengo curiosidad acerca de la solución, pero si no hay ninguna, al menos agradecería cualquier respuesta sobre por qué esto no está disponible.

[ACTUALIZAR]

Creo que la pregunta podría haber sido un poco engañosa. Si bien puedo construirlo solo, no me gusta reinventar la rueda. Básicamente mi intención con esta pregunta fue:

  1. Si hay algún paquete que haga esto (como todos los módulos como confirmable, token_authentcatable, etc. Tal vez ni siquiera un módulo Devise y podría ser completamente diferente)
  2. O, si no existe una solución preconstruida, ¿por qué no hay una? Simplemente no puedo comprender por qué no hay tal solución que puedo encontrar cuando todo el mundo parece estar haciendo esto.

Acepto gustosamente cuando recibo una respuesta al # 1 o al # 2. ¡Gracias!



He investigado eso antes ... pero los requisitos del proyecto han cambiado ... por lo que todos los siguientes son enlaces relativos que se encuentran en el wiki de diseño

puede usar los tuts anteriores junto con Twilio para enviar el token de autenticación personalizado creado y autenticar al usuario con un número de teléfono que no sea el de correo electrónico.

[ACTUALIZAR]

ya que mencionó una solución que ya funciona, creo que esto es lo que está buscando. Active Model OTP y esta entrada de blog es nueva y no tuve la oportunidad de probarla: D

También encontré la extensión de diseño de Autenticación de dos factores

[ACTUALIZACIÓN agosto / 2017]

Basado en un proyecto en el que estuve trabajando recientemente, descubrí que Tinfoil / devise-two-factor proporciona una integración realmente buena / extensible con el diseño (y es altamente personalizable) ... usando la gema ROTP interna, puede proporcionar una longitud diferente códigos basados ​​en diferentes métodos de autenticación (APP / SMS) y diferentes ventanas / deriva permitidas por método sin tener que escribir todo desde cero. (Muy recomendado si quiere potencia total sobre un flujo de trabajo complejo)