Este Rubygem implementa el estándar Mobile-OTP en Ruby, lo que le permite escribir servidores alimentados por Ruby (y Rails) e implementaciones de clientes. Esto le permite, por ejemplo, implementar una fuerte autenticación de dos factores en su aplicación web, donde sus usuarios usan sus teléfonos móviles como un token remoto.
gem install motp
Para cada usuario, presente un secreto y permita que especifiquen su PIN. Almacenar ambos. When they use your system, ask them for the One-Time Pad. They can get this by using their mobile phone (which they've already configured with the secret) and entering their PIN.
require 'motp'
Motp::check(secret, pin, otp)
Returns true if the otp is valid for the specified secret and PIN, false otherwise.
Los OTP se basan en el reloj UTC y son válidos (por defecto) durante tres minutos antes y tres minutos después de que se solicitaron, para acomodar el tiempo necesario para escribir el OTP, y posibles variaciones en la precisión de los relojes del sistema en the server and the client (mobile phone) devices.
Optional parameters (appended to the end):
Si desea escribir un cliente móvil-OTP en Ruby, ¡adelante! The motp RubyGem supports this too.
require 'motp'
Motp::otp(secret, pin)
Devuelve el OTP para la hora actual. Al igual que con la implementación del servidor, puede pasar un parámetro opcional: tiempo para especificar el tiempo para lo que desea generar, pero nunca debe necesitar hacer esto a menos que sepa que el reloj del dispositivo es incorrecto.
Este programa es un software gratuito: puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU publicada por Free Software Foundation, ya sea la versión 3 de la licencia o (a su opción) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero sin ninguna garantía; Sin siquiera la garantía implícita de comerciabilidad o estado físico para un propósito particular. Vea la Licencia Pública General de GNU para más detalles.
Debería haber recibido una copia de la Licencia Pública General de GNU junto con este programa. Si no, consulte http://www.gnu.org/licenses/.