微信小程序授權(quán)登錄的一些探究

注意2021年4月28日24時(shí)后發(fā)布的小程序新版本無法通過wx.getUserInfo獲取用戶信息!

新的wx.getUserInfo有調(diào)整??梢垣@取code,繼而獲取unionId但是無法獲取到用戶信息,獲取到的是匿名信息! 該接口對(duì)用戶無感,底部彈出框!
如果要獲取用戶昵稱等信息,則調(diào)用wx.getUserProfile接口,底部彈框,用戶授權(quán)。
具體看原文!
官方原文

微信登錄流程官方文檔
注意小程序全權(quán)負(fù)責(zé)session_key的有效性,前端小程序通過wx.checkSession接口獲取有效性,若無效則調(diào)用wx.login 獲取新的code , 把code傳遞給服務(wù)器, 讓服務(wù)器重新給小程序新的token 。 因?yàn)榉?wù)器無法知道session_key 是否過期,所以只有小程序來判斷!
因此建議每次小程序調(diào)用服務(wù)器端提供的 需要登錄用戶才可以調(diào)用的API 時(shí),需要在前面調(diào)用這個(gè)邏輯,如下代碼邏輯。

wx.checkSession({
  success () {
    //session_key 未過期,并且在本生命周期一直有效
   //session有效才調(diào)用你的業(yè)務(wù)接口?。。?!
  },
  fail () {
    // session_key 已經(jīng)失效,需要重新執(zhí)行登錄流程
    wx.login() //重新登錄
  }
})

總結(jié)。后臺(tái)同學(xué)注意,小程序登錄傳過來的code, code+appId+appSecret 獲取的session_key 一定不要設(shè)置過期時(shí)間,這個(gè)時(shí)間是前端小程序來告訴你的。 如果你之前的token設(shè)置了過期時(shí)間,我建議最好針對(duì)小程序單獨(dú)加一個(gè)wxToken字段, 默認(rèn)wxToken的有效期是永久的。
以上邏輯的支撐理由如鏈接 微信官方文檔
重點(diǎn)我截圖了,如下:

image.png

另外wx.login
可以獲取到code (前端用戶是無感的)。服務(wù)器可以通過code再調(diào)用auth.code2Session
獲取到

image.png

wx.getUserInfo
是小程序底部彈框,需要用戶授權(quán)的scope.userInfo

image.png

微信小程序登錄流程圖

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容