GitHubの二要素認証で使うワンタイムパスワードを生成するPythonライブラリを探す。
OTPライブラリ
Name | LICENSE | CopyRight |
---|---|---|
pyotp | LICENSE | Copyright (C) 2011-2016 Mark Percival <m@mdp.im>, Nathan Reynolds <email@nreynolds.co.uk>, and PyOTP contributors |
onetimepass | LICENSE.rst | Copyright(C)2011-2013 Tomasz Jaskowski(https://github.com/tadeck) |
新しいほうのpyotpを使うことにした。
インストール
C:/python34/Scripts/pip install pyotp Collecting pyotp Downloading pyotp-2.2.4-py2.py3-none-any.whl Installing collected packages: pyotp Successfully installed pyotp-2.2.4
実行
import pyotp totp = pyotp.TOTP(two_factor_secret) otp = totp.now() print(otp)
結果
WinAuthで出力したOTPと異なる値が出た。これではGitHubAPIに渡しても失敗してしまうだろう。
ローカル時刻がずれているのかと思って、WindowsXPのネット時刻あわせをしたが、やはり異なるOTPを出す。
所感
WinAuthの代わりになるかと思ったのだが、違うのか?私がしくみを理解できていないのかもしれない。