SmsCode手機(jī)短信驗(yàn)證微服務(wù)
SmsCode
這是什么
專(zhuān)為需要【手機(jī)短信驗(yàn)證碼】使用場(chǎng)景而設(shè)計(jì)的微服務(wù)(Micro service),如:用戶(hù)注冊(cè)、找回密碼、用戶(hù)身份驗(yàn)證、驗(yàn)證碼登錄等等。
為什么要造這個(gè)輪子
首先我沒(méi)有找到已實(shí)現(xiàn)這些基本功能合一的輪子,至少開(kāi)源的沒(méi)有。而實(shí)際上我們很多項(xiàng)目開(kāi)發(fā)時(shí)經(jīng)常需要用到手機(jī)驗(yàn)證碼功能。然而每次重復(fù)造輪子又覺(jué)得太繁瑣且不容易集中控制。于是有了開(kāi)發(fā)一個(gè)可復(fù)用輪子的想法。那么合計(jì)不到1500行Go代碼實(shí)現(xiàn)這個(gè)可復(fù)用的手機(jī)驗(yàn)證碼微服務(wù)何樂(lè)不為呢?
安裝使用
得益于Go語(yǔ)言的跨平臺(tái)支持,SmsCode可安裝在所有主流OS上(Linux,Mac OS X,F(xiàn)reeBSD,Windows,ARM等)
推薦Linux x64上安裝SmsCode,編譯安裝請(qǐng)確保已經(jīng)在OS上安裝了Go的編譯環(huán)境(GO 1.5+)。
go get -u github.com/xluohome/smscode cd $GOPATH/src/github.com/xluohome/smscode ./build && ./smscode
Docker 部署 Smscode
請(qǐng)參考項(xiàng)目中的Dockerfile 制作Docker image。
功能特性
-
支持阿里大魚(yú)、云通訊等多個(gè)手機(jī)短信驗(yàn)證碼通道;
-
自定義多個(gè)手機(jī)驗(yàn)證碼短信服務(wù)接口,如:注冊(cè)服務(wù),重設(shè)密碼,身份驗(yàn)證等等;
-
支持手機(jī)號(hào)歸屬地限制,只允許指定的歸屬地手機(jī)號(hào)接收短信驗(yàn)證碼;
-
每個(gè)短信驗(yàn)證碼服務(wù)可設(shè)置每日發(fā)送數(shù)量限額及失效時(shí)間;
-
內(nèi)置callback服務(wù),可設(shè)置短信驗(yàn)證碼發(fā)送成功(失?。Ⅱ?yàn)證碼驗(yàn)證成功時(shí)的回調(diào)URL;
-
可設(shè)置短信驗(yàn)證碼發(fā)送模式:
-
0x01:只有手機(jī)號(hào)對(duì)應(yīng)的uid存在時(shí)才能發(fā)送。
-
0x02:只有uid不存在時(shí)才能發(fā)送。
-
0x03:不管uid是否存在都發(fā)送。
-
-
通過(guò)setuid接口可將現(xiàn)有系統(tǒng)中的用戶(hù)UID數(shù)據(jù)導(dǎo)入SmsCode;
-
內(nèi)置持久化存儲(chǔ):Goleveldb;
-
支持Docker部署,SmsCode靜態(tài)編譯(Go 1.7.5)Docker image不到8mb。
