Ce Rubygem implémente la norme mobile-OTP dans Ruby, vous permettant d'écrire des serveurs et des implémentations de clients alimentés par Ruby (et Rails). Cela vous permet, par exemple, d'implémenter une solide authentification à deux facteurs dans votre application Web, où vos utilisateurs utilisent leurs téléphones mobiles comme jeton distant.
gem install motp
Pour chaque utilisateur, trouvez un secret et permettez-lui de spécifier leur code PIN. Stocker les deux. Lorsqu'ils utilisent votre système, demandez-leur le pad unique. Ils peuvent l'obtenir en utilisant leur téléphone mobile (qu'ils ont déjà configuré avec le secret) et en entrant leur broche.
require 'motp'
Motp::check(secret, pin, otp)
Renvoie True si l'OTP est valide pour le secret et la broche spécifiés, faux autrement.
Les OTP sont basés sur l'horloge UTC et sont valides (par défaut) pendant trois minutes avant et trois minutes après leur demande, afin d'accueillir le temps pris pour taper dans l'OTP, et des variations possibles de l'exactitude des horloges système sur le serveur et les appareils client (téléphone mobile).
Paramètres facultatifs (annexés jusqu'à la fin):
Si vous souhaitez écrire un client mobile-OTP dans Ruby, allez-y! Le MOTP Rubygem le soutient également.
require 'motp'
Motp::otp(secret, pin)
Renvoie l'OTP pour l'heure actuelle. Comme pour l'implémentation du serveur, vous pouvez passer un paramètre facultatif: Time pour spécifier l'heure pour que vous souhaitez générer, mais vous ne devriez jamais avoir besoin de le faire à moins que vous ne sachiez que l'horloge de l'appareil est incorrect.
Ce programme est un logiciel gratuit: vous pouvez le redistribuer et / ou le modifier en vertu des termes de la licence publique générale GNU publiée par la Free Software Foundation, soit la version 3 de la licence, ou (à votre option) n'importe quelle version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais sans aucune garantie; Sans même la garantie implicite de qualité marchande ou d'adéquation à un usage particulier. Voir la licence publique générale GNU pour plus de détails.
Vous devriez avoir reçu une copie de la licence publique générale GNU avec ce programme. Sinon, voir http://www.gnu.org/licenses/.