Dieses Rubygem implementiert den Mobilfunk-OTP-Standard in Ruby und ermöglicht es Ihnen, Ruby- (und Rails) -Antriebserver und Client-Implementierungen zu schreiben. Auf diese Weise können Sie beispielsweise eine starke Zwei-Faktor-Authentifizierung in Ihre Webanwendung implementieren, bei der Ihre Benutzer ihre Mobiltelefone als Remote-Token verwenden.
gem install motp
Erstellen Sie für jeden Benutzer ein Geheimnis und erlauben Sie ihm, seine PIN anzugeben. Lagern Sie beide. Wenn sie Ihr System verwenden, fragen Sie sie nach dem einmaligen Pad. Sie können dies erhalten, indem sie ihr Mobiltelefon (das sie bereits mit dem Geheimnis konfiguriert haben) und ihre PIN eingeben.
require 'motp'
Motp::check(secret, pin, otp)
Gibt true zurück, wenn der OTP für das angegebene Geheimnis und PIN gültig ist, ansonsten falsch.
OTPs basieren auf der UTC -Uhr und sind drei Minuten vor und drei Minuten nach ihrer Anforderung (standardmäßig) gültig Der Server und die Client -Geräte (Mobiltelefon).
Optionale Parameter (bis zum Ende angehängt):
Wenn Sie einen mobilen OTP-Client in Ruby schreiben möchten, machen Sie weiter! Das Motp Rubygem unterstützt dies ebenfalls.
require 'motp'
Motp::otp(secret, pin)
Gibt den OTP für die aktuelle Zeit zurück. Wie bei der Server -Implementierung können Sie einen optionalen Parameter übergeben, um die Zeit anzugeben, die Sie generieren möchten. Sie sollten dies jedoch nie tun müssen, es sei denn, Sie wissen, dass die Geräteuhr nicht falsch ist.
Dieses Programm ist kostenlose Software: Sie können es neu verteilt und/oder unter den Bestimmungen der GNU General Public Lizenz wie von der Free Software Foundation, entweder Version 3 der Lizenz veröffentlicht, oder (nach Ihrer Option) jede spätere Version ändern.
Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, jedoch ohne Garantie; Ohne die implizite Garantie für Handelsfähigkeit oder Eignung für einen bestimmten Zweck. Weitere Informationen finden Sie in der GNU General Public Lizenz.
Sie hätten zusammen mit diesem Programm eine Kopie der GNU General Public Lizenz erhalten haben. Wenn nicht, siehe http://www.gnu.org/licenses/.