SmsCode手机短信验证微服务

联合创作 · 2023-09-24 04:35

SmsCode



这是什么


专为需要【手机短信验证码】使用场景而设计的微服务(Micro service),如:用户注册、找回密码、用户身份验证、验证码登录等等。


为什么要造这个轮子


首先我没有找到已实现这些基本功能合一的轮子,至少开源的没有。而实际上我们很多项目开发时经常需要用到手机验证码功能。然而每次重复造轮子又觉得太繁琐且不容易集中控制。于是有了开发一个可复用轮子的想法。那么合计不到1500行Go代码实现这个可复用的手机验证码微服务何乐不为呢?


安装使用


得益于Go语言的跨平台支持,SmsCode可安装在所有主流OS上(Linux,Mac OS X,FreeBSD,Windows,ARM等)


推荐Linux x64上安装SmsCode,编译安装请确保已经在OS上安装了Go的编译环境(GO 1.5+)。


go get -u github.com/xluohome/smscode

cd  $GOPATH/src/github.com/xluohome/smscode

./build  && ./smscode

Docker 部署 Smscode


请参考项目中的Dockerfile 制作Docker image。


功能特性



  1. 支持阿里大鱼、云通讯等多个手机短信验证码通道;


  2. 自定义多个手机验证码短信服务接口,如:注册服务,重设密码,身份验证等等;


  3. 支持手机号归属地限制,只允许指定的归属地手机号接收短信验证码;


  4. 每个短信验证码服务可设置每日发送数量限额及失效时间;


  5. 内置callback服务,可设置短信验证码发送成功(失败)、验证码验证成功时的回调URL;


  6. 可设置短信验证码发送模式:



    • 0x01:只有手机号对应的uid存在时才能发送。


    • 0x02:只有uid不存在时才能发送。


    • 0x03:不管uid是否存在都发送。



  7. 通过setuid接口可将现有系统中的用户UID数据导入SmsCode;


  8. 内置持久化存储:Goleveldb;


  9. 支持Docker部署,SmsCode静态编译(Go 1.7.5)Docker image不到8mb。


浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报