7.3. 验证码库

本教程最新版为 1.19,当前版本已放弃维护,请阅读最新版本!

说明

验证码的发送流程:

  • 接收用户传参的 phone 或者 email,作为 key;
  • 生成一个随机 6 位数字 code;
  • 将 key 以及对应的 code 存入 Redis 中,过期时间为 15 分钟(可配置);
  • 将 code 发送给 phone 或 email 。

验证流程:

  • 用户传参的 phone 或者 email 为 key,和输入的验证码 answer ;
  • 服务端接收到上面两个数据后,凭着 key 到 redis 中查询数据;
  • 数据取出来后和 answer 进行匹对。

以上逻辑不应该放在控制器中,应当有独立的包来存放。

1. Store interface

验证码模块不应该跟特定的存储服务做绑定,所以我们创建了 Store interface 。未来如果要使用其他内存服务器(例如 Memcached),可以很方便切换。

创建接口:

pkg/verifycode/store_interface.go

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
讨论数量: 0

暂无话题~