在做微信小程序時(shí)币叹,如果有用戶管理润歉,會(huì)希望加入微信、QQ颈抚、新浪微博等第三方服務(wù)商的用戶登錄驗(yàn)證踩衩。這樣就需要把自己的用戶信息與第三方的賬號(hào)進(jìn)行綁定。
openid 就是用戶在第三方獨(dú)立驗(yàn)證使用的唯一ID贩汉,不同的服務(wù)商處理的方法會(huì)有一些差異驱富,以下內(nèi)容以微信登錄為例。
準(zhǔn)備工作:
1匹舞、小程序 appId
使用開發(fā)者帳號(hào)登錄微信小程序的首頁(yè)褐鸥,點(diǎn)擊圖1“開發(fā)設(shè)置”可以快速進(jìn)行查詢
如圖2標(biāo)記的A位置顯示的就是APPID
2、小程序 appSecret
appSecret無法直接查詢赐稽,可以點(diǎn)擊圖2標(biāo)記的“重置”按鈕叫榕,重置操作會(huì)生成一個(gè)appSecret,記錄下來備用姊舵。
獲取方法:
1晰绎、微信登錄方法可以新建一個(gè)uni-app項(xiàng)目,選擇登錄模板括丁,就可以查看完整的微信登錄驗(yàn)證使用方法寒匙。
2、滿心歡喜的翻了翻這個(gè)模板躏将,調(diào)用微信登錄驗(yàn)證的代碼中锄弱,有如下的一段話,是的就是這個(gè)openid祸憋。
3会宪、不過是個(gè)空歡喜,拿到的數(shù)據(jù)并不包含openid(可能該代碼適用的版本較早蚯窥,也可能是適配于其他的服務(wù)商)
4掸鹅、于是查看微信小程序接口說明文檔,文檔說明拦赠,需要通過?wx.login()?接口獲得臨時(shí)登錄憑證 code 巍沙,以該code使用API獲取openid。原文:https://developers.weixin.qq.com/miniprogram/dev/api-backend/auth.code2Session.html
5荷鼠、API調(diào)用格式
GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
A:APPID 句携,B:SECRET,C:JSCODE 用前面準(zhǔn)備好的信息替換允乐,就可以獲取openid了矮嫉。
6削咆、獲取的內(nèi)容如下:
{"session_key":"z4cfFtBb\/o6eo3VdfQBXdw==","openid":"ogXE-5dQ1ehYRAdWzJ40yxgDFD"}