Rubygem ini mengimplementasikan standar OTP seluler di Ruby, memungkinkan Anda untuk menulis server bertenaga Ruby (dan Rails) dan implementasi klien. Ini memungkinkan Anda, misalnya, untuk menerapkan otentikasi dua faktor yang kuat ke dalam aplikasi web Anda, di mana pengguna Anda menggunakan ponsel mereka sebagai token jarak jauh.
gem install motp
Untuk setiap pengguna, buatlah rahasia dan izinkan mereka untuk menentukan pin mereka. Simpan keduanya. Ketika mereka menggunakan sistem Anda, tanyakan padanya untuk bantalan satu kali. Mereka bisa mendapatkan ini dengan menggunakan ponsel mereka (yang telah mereka konfigurasi dengan rahasia) dan memasukkan PIN mereka.
require 'motp'
Motp::check(secret, pin, otp)
Mengembalikan true jika OTP valid untuk rahasia dan pin yang ditentukan, FALSE sebaliknya.
OTP didasarkan pada jam UTC dan valid (secara default) selama tiga menit sebelum dan tiga menit setelah diminta, untuk mengakomodasi waktu yang dibutuhkan untuk mengetikkan OTP, dan kemungkinan variasi dalam akurasi jam sistem pada perangkat server dan klien (ponsel).
Parameter opsional (ditambahkan sampai akhir):
Jika Anda ingin menulis klien Mobile-OTP di Ruby, silakan! Motp rubygem juga mendukung ini.
require 'motp'
Motp::otp(secret, pin)
Mengembalikan OTP untuk waktu saat ini. Seperti halnya implementasi server, Anda dapat lulus parameter Opsional: waktu untuk menentukan waktu untuk yang ingin Anda hasilkan, tetapi Anda tidak perlu melakukan ini kecuali Anda tahu jam perangkat tidak benar.
Program ini adalah perangkat lunak gratis: Anda dapat mendistribusikannya kembali dan/atau memodifikasinya di bawah ketentuan Lisensi Publik Umum GNU seperti yang diterbitkan oleh Yayasan Perangkat Lunak Gratis, baik versi 3 dari lisensi, atau (pada opsi Anda) versi selanjutnya.
Program ini didistribusikan dengan harapan akan bermanfaat, tetapi tanpa jaminan apa pun; bahkan tanpa jaminan tersirat dari dapat diperjualbelikan atau kebugaran untuk tujuan tertentu. Lihat Lisensi Publik Umum GNU untuk lebih jelasnya.
Anda seharusnya menerima salinan Lisensi Publik Umum GNU bersama dengan program ini. Jika tidak, lihat http://www.gnu.org/licenses/.