使用Google Authenticator 作为双重认证
双重认证顾名思义即是在验证用户账号密码后,再进行一次验证码认证,提高登录流程的安全性。
认证流程#
- 配对生成二维码
- 使用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个有效验证码