使用Google Authenticator 作为双重认证

Published on:
Tags: google

双重认证顾名思义即是在验证用户账号密码后,再进行一次验证码认证,提高登录流程的安全性。

认证流程#

  • 配对生成二维码
  • 使用Google认证器APP扫描二维码,得到动态验证码(动态验证码后面有一个倒计时器,每30秒刷新一次)
  • 输入验证码进行认证

API接入#

请求域名#

https://www.authenticatorapi.com

配对#

  • 描述:获取认证二维码
  • 地址:/pair.aspx
  • 请求方式:GET
  • 请求参数:
参数名 格式 必需 描述
AppName string AppName
AppInfo string AppInfo
SecretCode string SecretCode
  • 响应结果:
    1
    <a title='Manually pair with GEZDGNBVGY3TQQSYLFKA' href='https://www.authenticatorapi.com'><img src='https://chart.googleapis.com/chart?cht=qr&chs=300x300&chl=otpauth%3A%2F%2Ftotp%2FJohn%3Fsecret%3DGEZDGNBVGY3TQQSYLFKA%26issuer%3DMyApp' border=0></a>

提取img标签里src属性的值,保存起来,不用重复请求接口

验证#

  • 描述:使用验证码进行认证
  • 地址:/Validate.aspx
  • 请求方式:GET
  • 请求参数:
参数名 格式 必需 描述
Pin string Pin
SecretCode string SecretCode
  • 响应结果:
    1
    False|True

动态验证码有效期#

经过测试发现:

  • 每30秒刷新一次验证码
  • 每个验证码有效期5分钟
  • 也就是说5分钟内有10个有效验证码

参考#

Google Authenticator