Google TOTP Two-factor Authentication(两次验证密码) for PHP

谷歌在今年年初公布的2因子认证(2FA)的G-邮件提供了一个为Android,iPhone和黑莓的应用程序名为Google的Authenticator生成一个时间登录令牌。 这篇文章将展示如何实现谷歌2FA Web应用程序,以防止被盗的凭据。

谷歌验证器是基于RFC 4226 -基于时间的一次性密码(TOTP)这是使用16位基32( RFC 4648 )编码的种子值初始化。 TOTP使用的初始种子可以进入谷歌通过使用QR码相机或通过键盘的Authenticator。 谷歌还提供了一个PAM模块,允许用户集成的sshd 2FA。

可以写一个模块,以支持在任何语言的Google TOTP – 写PHP库唯一需要注意的是缺乏一个RFC 4648兼容的基地32解码功能。 32基本功能是需要解码的初始种子。 这可能是最棘手的部分实施谷歌的2FA。 可以使用以下功能:

阅读更多