2012-04-26 20 views
0

私はしばらくの間、ユビキアを使用して、今私の管理セクションに統合したい。ユビキーのPHPの統合

私はここで素晴らしいクラスを発見した:http://code.google.com/p/yubikey-php-webservice-class

唯一の問題は、それがためにチェックし、次のとおりです。

私はすでにしなければならないことを意味

[yubikeytest.php]

if (md5 (substr ($otp, 0, 12).":".$_POST['username']) != $token_id) 

データベースにトークンIDを持っている

しかし、$ token_idはOTPとユーザー名のmd5ハッシュでなければならないので、元のトークンを作成してデータベースに配置する方法はわかりませんが、otpは1回限りであるため、トークン。

私は何か間違っていると私は可能な限り少なくともこれを実装することができますか?

私の現在の認証を保持することですが、yubiekeyを使用して認証したいユーザーの場合は、鍵を登録することができます< - どのようにログインしたか、ログイン中にyubiekey OTPの入力を求められます。

私が適切な解決策を手に入れたら、他のユーザーがこのトピックに多くの情報がないため、プロセスを簡単にするためにアクセスできるようにします。

PS。また、私が探しているものがすでにスクリプトに入っている場合は、私に知らせてください。

答えて

3

YubiKey OTPは2つの部分で構成され、最後の32文字は暗号化されたOTPで、その前の文字(デフォルトでは12)はキーを識別する静的パブリックIDです。したがって、上のコードはパブリックIDのmd5のみを行い、指定されたキーから任意のOTPから取得できます。そこにPHPソリューションのために

もYubicoによって維持のphp-yubicoプロジェクトです:http://code.google.com/p/php-yubico/

+0

はそれは私が何を意味するかだ参照してください、私は、ドキュメントのいずれかで、私が読んだことを見つけることができませんでした。だから、登録中に、私はユーザーのパブリックIDとユーザー名を取得し、一緒にハッシュし、データベースに格納する必要がありますか? ansはこのスクリプトを使ってそれらを比較します。また、入力時にハッシュするのではなく、データベースにパブリックIDを別々に格納すると悪いです...私は将来の使用のために他のメソッドで実装できるようにしたいと思います。 – ShadowZzz

+0

パブリックIDをそれ自身で保存するのは大丈夫だと思われます。 – Klas

+0

ありがとう、私はそれをします。 – ShadowZzz