[原創] uniapp第三方登入(二)
阿新 • • 發佈:2018-12-26
一般我們在進入登入頁面的時候回選擇登入方式,以按鈕的方式進行選擇觸發第三方的登入型別。
在小程式中的登入授權時,格式被確定為使用
vue檔案
<!-- #ifdef MP-WEIXIN --> <button type="primary" open-type="getUserInfo" @getuserinfo="getUserInfo" withCredentials="true">微信登入</button> <!-- #endif --> <script> export default { methods:{ getUserInfo:function(res){ if(!res.detail.iv){ uni.showToast({ title:"您取消了授權,登入失敗", icon:"none" }) return false } console.log("login res getUserInfo",res); } } } </script>
如果授權成功,console打出來的內容如下
如果失敗,detail中的內容會有所不同,這裡就不演示了,
詳細描述在微信公眾平臺裡面有微信開發api傳送門
通常我們是判斷detail.iv(加密演算法的初始向量)是否存在,就可以確定授權成功與否。
注意:上述資訊是無法判斷使用者唯一性的,只能獲取到微信使用者的一些描述資訊而已,後面我們要通過iv值,進行轉換,這樣才能獲取到使用者的openId 和 unionId
openId 和 unionId,二者的區別
解密步驟iv基本是兩步
- 獲取sessionKey
- 根據sessionKey去解密使用者的iv
那麼如何獲取sessionKey呢?