OTP一次性动态密码工具实现

Xiao_Yang · · 4019 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

对于企业内部信息安全或行业安全合规性需求,3A认证、授权、审计是必要的基础安全审查项。认证安全机制要求双因素认证,从技术要可使用基于数字证书和OTP来实现满足。
OTP分为两种技术算法HOTP(基于次数 RFC 4226)和TOTP(基于时间 RFC 6238)标准。而目前开源的Google Authenticator工具很好的实现了OTP移动端APP的使用与密钥管理。
为了在企业运维安全加固需求可以开发自己的后端的OTP认证服务器和统一用户认证管理中心,结合Google Authenticator工具快速整合用户的移动端动态密钥的生成。
可适用的双因素场景:网络设备的认证(Radius协议)、企业内部开发的应用系统认证集成。

AuthOTP

golang实现google authencatior服务器RestAPI(密钥生成、OTP生成、OTP认证 )

API 接口说明

/register

  • 用途: 生成私有密钥(base64编码)
  • 方法: GET
  • 参数:无
  • 返回:seed密钥(string)

/otp

  • 用途: 通过私有密钥,生成OTP一次性密码
  • 方法: POST
  • 参数: 请求体JSON格式 ,skey 私有密钥
  • 返回: otp密码 (string)
Post Body:
{
"skey":"GI3TSYRWGMZWEZRTMNSGMYRXGFTDSODFGI4DEMRXHE3GKZDBGY2TKM3FMQYWMNDG"
}

/auth

  • 用途: 验证OTP一次性密码
  • 方法: POST
  • 参数: 请求体JSON格式 ,skey 私有密钥 otp 需认证的密码
  • 返回: true/false
Post Body:
{
"skey":"GI3TSYRWGMZWEZRTMNSGMYRXGFTDSODFGI4DEMRXHE3GKZDBGY2TKM3FMQYWMNDG",
"otp":"712257"
}

详细源码地址:
https://github.com/gotoolkits/AuthOTP


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Xiao_Yang

查看原文:OTP一次性动态密码工具实现

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4019 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传