首页 > 代码库 > Google authenticator 登陆 Wordpress和 Gmail账号

Google authenticator 登陆 Wordpress和 Gmail账号

这段时间在学习aws,发现可以通过配置google authenticator来强化登陆的安全性。心想能不能把Google authenticator用在其他地方呢?意外的发现wordpess和Gmail Account也是支持的。


WordPress配置很简单,首先安装Plugin,激活

wKiom1OzXk6jFyYTAABpwezAxmw835.png


然后在管理员的Profile下面,生成二维码

wKioL1OzXh_zyvMmAABkUiqNUpM070.png


iPhone上安装对应的软件,(左下角白***标),扫描二维码,即可绑定

wKiom1OzXlnwcArmAA9DhLNyu1U752.png


保存Wordpress的设置,重新进入登录界面,发现多了个验证码的选项

wKiom1OzXk6DT5j9AAAwAHTNU3E403.png




下面我的截图里面包括了2个不同的账号,一个是aws,一个是我的wordpress,验证码每30秒会变化一次


登陆wordpress的时候,输入用户,密码和google authenticator的6位的验证码就行了


wKiom1OzYPCQXyU-AAHd0ocoRGM580.png


我们来看看Google Authenticator的实现原理是什么。


从上面的步骤可以看出,首先服务器会生成一个随机密码,用户可以通过手动输入或者扫描二维码将这个密码存入手机设备;然后Google authenticator每隔30秒会通过某种哈希算法,通过时间戳和保存的密码计算出一个6位的数字。输入之后,服务器端也会通过一样的算法计算这个数字,如果相同,那么验证通过。30秒的时间可以保证用户有足够的时间输入密码,同时避免黑客进行暴力破解(毕竟只有10的6次方种可能性很快就会被破解),不过黑客仍然可以利用中间人攻击的方式获取用户名,密码和验证码。


用类似的方式,我们还可以绑定Gmail账号 


登陆Gmail,然后安全里面选择2-step verification

wKiom1OzfWKAEWYSAAB5JB7DDBk340.png

wKiom1OzfWPiin84AADm7vVNegw161.png

输入手机号,google服务器会发送一个号码给手机

wKioL1OzfTSTtMFFAABThKN1cBw307.png


wKioL1OzfTSgM6KHAAAzlHJzWv8436.png

wKioL1OzfKTz8GOvAAA6voAiBrc167.png

wKiom1OzfNTiX4doAAAn5UW3PPM873.png

wKiom1OzfNfxwcmZAAA6PTlPY7s749.png


一路点下来,手机就算绑定成功了。但是豆子想使用Google authenticator来验证,手机只是作为一个辅助手段来验证,点击switch to app


wKioL1OzfKyQEI16AABV6wO3RQA793.png


选择手机类型

wKioL1OzfK-w9iZLAAAyaT_TxZs338.png

扫描二维码,原理方式和WordPress一样

wKiom1OzfOGzdRNnAABWG8HY5H4882.png

这样就绑定成功了

wKiom1OzfOfjyeMSAAB4m8dNqv4387.png


登陆看看,第一步和普通登陆一样,输入用户名和密码

wKioL1OzfLnCXFc1AAAheNKegZQ794.png


第二步多了个验证码

wKiom1OzfOiTptaRAAAkQcUZqYc667.png



测试成功!



参考资料

http://blog.seetee.me/archives/73.html

http://en.wikipedia.org/wiki/Google_Authenticator

https://support.google.com/accounts/answer/1066447?hl=en




本文出自 “麻婆豆腐” 博客,请务必保留此出处http://beanxyz.blog.51cto.com/5570417/1433346