所以我一直在使用Yubikey,现在想将它集成到我的管理部分。
我在这里找到了一个很棒的课程: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是一次,因此永远不会=原始令牌
我做错了什么,我怎么能尽可能少地实现这个呢?
我想要做的是保留我当前的身份验证,但对于那些/想要使用yubiekey进行身份验证的用户,他们可以向我们注册他们的密钥< - 我想知道如何以及然后每次登录,这些用户,在登录期间,将要求您输入yubiekey OTP。
请帮助,一旦我得到一个合适的解决方案,我将让其他任何用户都可以访问,以便让这个过程更容易,因为这个主题没有太多信息。
PS。如果我正在寻找的内容已经在剧本中,请告诉我。
答案 0 :(得分:3)
YubiKey OTP由两部分构成,最后32个字符是加密的OTP,之前的字符(默认为12)是静态公共ID,用于标识密钥。所以上面的代码只做公共id的md5,你可以从给定密钥的任何OTP中获取。
对于php解决方案,还有由Yubico维护的php-yubico项目:http://code.google.com/p/php-yubico/