1. 程式人生 > >[原創] uniapp第三方登入(二)

[原創] uniapp第三方登入(二)

一般我們在進入登入頁面的時候回選擇登入方式,以按鈕的方式進行選擇觸發第三方的登入型別。
在小程式中的登入授權時,格式被確定為使用

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基本是兩步

  1. 獲取sessionKey
  2. 根據sessionKey去解密使用者的iv

那麼如何獲取sessionKey呢?