提示
目前已支持微信、短信登錄,其他三方平臺(tái)陸續(xù)集成中...
一、微信登錄
1. 準(zhǔn)備工作
先去微信開放平臺(tái) https://open.weixin.qq.com/ 申請(qǐng)一個(gè)賬號(hào)(注冊(cè)需要營業(yè)執(zhí)照),并申請(qǐng)網(wǎng)站應(yīng)用和移動(dòng)應(yīng)用;微信小程序需要去微信公眾平臺(tái) https://mp.weixin.qq.com/ 注冊(cè)賬號(hào),并申請(qǐng)微信小程序,然后去微信開放平臺(tái)綁定小程序;
提示
注意:一定要保存好每個(gè)應(yīng)用的appId和appSecret,在系統(tǒng)后臺(tái):系統(tǒng)管理-三方登錄配置需要用到,分別對(duì)應(yīng)第三方平臺(tái)申請(qǐng)ID和第三方平臺(tái)密鑰

2. 實(shí)現(xiàn)流程
由于網(wǎng)站應(yīng)用和移動(dòng)應(yīng)用授權(quán)的微信用戶信息沒有手機(jī)號(hào),找不到與之相關(guān)的系統(tǒng)賬號(hào),所以在首次使用微信登錄時(shí)會(huì)跳轉(zhuǎn)到綁定賬號(hào)頁面,后面流程如下:已有賬號(hào)->則輸入賬號(hào)密碼綁定,即可登錄;沒有賬號(hào)->點(diǎn)擊注冊(cè)綁定,注冊(cè)一個(gè)賬號(hào)與微信綁定,然后重新登錄即可
由于微信unionid唯一機(jī)制,首次在網(wǎng)站應(yīng)用、移動(dòng)應(yīng)用任意一平臺(tái)使用微信登錄并綁定賬號(hào)后,下次不管在哪一平臺(tái)使用微信都可直接登錄
- 網(wǎng)站應(yīng)用
配置:先在微信開放平臺(tái)網(wǎng)站應(yīng)用配置授權(quán)回調(diào)域,修改為自己后端接口請(qǐng)求IP地址或域名,eg: iot.m.btsdy.com ,然后在系統(tǒng)后臺(tái)三方登錄需要配置微信開放平臺(tái)網(wǎng)站應(yīng)用信息。


- 用戶認(rèn)證跳轉(zhuǎn)地址:修改為:https://iot.m.btsdy.com/prod-api/auth/callback/wechat_open_web,確?;卣{(diào)接口ip地址或域名和授權(quán)回調(diào)域配置的一致
- 綁定注冊(cè)登錄URI:修改為:前端項(xiàng)目請(qǐng)求地址/login?bindId=,eg:https://iot.m.btsdy.com/login?loginId=
- 跳轉(zhuǎn)登錄URI:修改為:前端項(xiàng)目請(qǐng)求地址/login?loginId=,eg:https://iot.m.btsdy.com/login?loginId=
- 錯(cuò)誤提示URI:修改為:前端項(xiàng)目請(qǐng)求地址/login?errorId=,eg:https://192.168.1.101/login?errorId=
提示
使用三方插件justAuth
實(shí)現(xiàn),流程如下:
- 用戶點(diǎn)擊微信登錄->
- 彈起微信二維碼->
- 用戶打開微信掃描二維碼登錄->
- 如果該微信號(hào)已經(jīng)綁定了系統(tǒng)賬號(hào),則直接登錄->
- 否則跳轉(zhuǎn)到綁定頁面,需用戶輸入賬號(hào)密碼進(jìn)行與微信綁定,然后直接登錄->
- 如果用戶沒有與之綁定的賬號(hào),則需要點(diǎn)擊注冊(cè)綁定去注冊(cè)一個(gè)賬號(hào)并綁定該微信,然后重新登錄
- 移動(dòng)應(yīng)用
配置:在系統(tǒng)后臺(tái)三方登錄配置微信開放平臺(tái)移動(dòng)應(yīng)用信息:第三方平臺(tái)申請(qǐng)ID和第三方平臺(tái)密鑰分別對(duì)應(yīng)appid和appsecret,其中的用戶認(rèn)證跳轉(zhuǎn)地址、綁定注冊(cè)登錄URI、跳轉(zhuǎn)登錄URI、錯(cuò)誤提示URI可隨便填一個(gè)就行,eg:http://localhost
提示
實(shí)現(xiàn)流程:只是把二維碼換成彈窗授權(quán),其余和網(wǎng)站應(yīng)用登錄一致
- 微信小程序
配置:在系統(tǒng)后臺(tái)三方登錄配置微信開放平臺(tái)小程序信息:第三方平臺(tái)申請(qǐng)ID和第三方平臺(tái)密鑰分別對(duì)應(yīng)appid和appsecret,其中的用戶認(rèn)證跳轉(zhuǎn)地址、綁定注冊(cè)登錄URI、跳轉(zhuǎn)登錄URI、錯(cuò)誤提示URI可隨便填一個(gè)就行,eg:http://localhost
不同點(diǎn):小程序能獲取到手機(jī)號(hào),但是要收費(fèi),開始可免費(fèi)獲取1000次,后面每次獲取收費(fèi)0.04,直接使用獲取的手機(jī)號(hào)登錄,如果當(dāng)前微信號(hào)未綁定過系統(tǒng)賬號(hào),則會(huì)綁定當(dāng)前手機(jī)號(hào)登錄的系統(tǒng)賬號(hào),可在個(gè)人中心解綁微信
提示
實(shí)現(xiàn)流程:微信登錄->獲取微信用戶選擇的手機(jī)號(hào),根據(jù)手機(jī)號(hào)查詢系統(tǒng)賬號(hào)->查詢到則直接登錄;否則使用手機(jī)號(hào)注冊(cè)一個(gè)系統(tǒng)賬號(hào),賬號(hào)密碼是手機(jī)號(hào)(記得去改密碼),然后登錄
3. 微信綁定解綁
- 綁定:在個(gè)人中心頁面點(diǎn)擊進(jìn)行微信綁定即可
- 注意:網(wǎng)站應(yīng)用綁定需要在系統(tǒng)后臺(tái):系統(tǒng)管理-三方登錄,配置一條微信開放平臺(tái)網(wǎng)站應(yīng)用個(gè)人中心綁定信息,參考網(wǎng)站應(yīng)用微信登錄配置信息,只是把跳轉(zhuǎn)地址和跳轉(zhuǎn)登錄地址請(qǐng)求路徑改為和下面一樣。
- 解綁:已綁定微信,在個(gè)人中心點(diǎn)擊解綁,輸入密碼驗(yàn)證即可
4. 可優(yōu)化點(diǎn)
后續(xù)加入短信驗(yàn)證,注冊(cè)綁定流程可使用短信,解綁添加短信驗(yàn)證方式
注意
- 一定要在同一個(gè)微信開放平臺(tái)賬號(hào)下申請(qǐng)移動(dòng)、網(wǎng)站、小程序應(yīng)用,這樣才能保證unionid唯一性,并且不同應(yīng)用之間才可通過unionid進(jìn)行關(guān)聯(lián)交互
- 移動(dòng)應(yīng)用在調(diào)試的時(shí)候選擇運(yùn)行到手機(jī)的情況下,獲得到的
openid、unionid
什么的都是屬于DCloud
的,就會(huì)導(dǎo)致同一用戶的unionid和網(wǎng)站應(yīng)用、小程序應(yīng)用不一樣,需要保持一致的話要自定義基座調(diào)試(一般都是打包時(shí)才會(huì)去配置)或者直接打包出來測試,就是一致的了
二、短信登錄
需結(jié)合消息通知模塊使用,需要配置驗(yàn)證碼短信通知模板,模板啟用后即可使用短信登錄。
