欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-18 12:30:04
...

对于企业内部信息安全或行业安全合规性需求,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

相关标签: opt