يقوم Rubygem بتنفيذ معيار Mobile-OTP في Ruby ، مما يتيح لك كتابة الخوادم التي تعمل بالطاقة Ruby (و Rails) وتطبيقات العميل. يمكّنك ذلك ، على سبيل المثال ، من تنفيذ مصادقة قوية ثنائية العوامل في تطبيق الويب الخاص بك ، حيث يستخدم المستخدمون هواتفهم المحمولة كرمز بعيد.
gem install motp
لكل مستخدم ، ابتعد عن السر واتركه لتحديد دبوسهم. تخزين كلاهما. عندما يستخدمون نظامك ، اسألهم عن لوحة لمرة واحدة. يمكنهم الحصول على هذا باستخدام هواتفهم المحمولة (التي قاموا بتكوينها بالفعل مع السر) ودخول دبوسهم.
require 'motp'
Motp::check(secret, pin, otp)
إرجاع صحيح إذا كان OTP صالحًا للسر و PIN المحدد ، خطأ خلاف ذلك.
تعتمد OTPs على ساعة UTC وهي صالحة (افتراضيًا) لمدة ثلاث دقائق وثلاث دقائق بعد طلبها ، من أجل استيعاب الوقت المستغرق في الكتابة في OTP ، والتغيرات المحتملة في دقة ساعة النظام على الخادم وأجهزة العميل (الهاتف المحمول).
معلمات اختيارية (إلحاق بالنهاية):
إذا كنت ترغب في كتابة عميل-OTP للهاتف المحمول في Ruby ، فاستمر! يدعم MOTP Rubygem هذا أيضًا.
require 'motp'
Motp::otp(secret, pin)
إرجاع OTP للوقت الحالي. كما هو الحال مع تطبيق الخادم ، يمكنك تمرير معلمة Time اختيارية لتحديد الوقت الذي تريد إنشاؤه ، ولكن يجب ألا تحتاج أبدًا إلى القيام بذلك إلا إذا كنت تعرف أن ساعة الجهاز غير صحيحة.
هذا البرنامج هو برنامج مجاني: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة GNU العامة العامة كما تم نشرها من قبل مؤسسة البرمجيات المجانية ، إما الإصدار 3 من الترخيص ، أو (في خيارك) أي إصدار لاحق.
يتم توزيع هذا البرنامج على أمل أن يكون مفيدًا ، ولكن بدون أي ضمان ؛ بدون حتى الضمان الضمني للتسويق أو اللياقة لغرض معين. راجع رخصة GNU العامة لمزيد من التفاصيل.
يجب أن تكون قد تلقيت نسخة من رخصة GNU العامة العامة مع هذا البرنامج. إذا لم يكن كذلك ، راجع http://www.gnu.org/licenses/.