微信小程式開發使用者授權登入

2022-05-06 07:03:11 字數 2686 閱讀 8930

用wx.login獲取登入憑證code

}

這個玩家很懶,什麼也沒留下

小程式端 wx.login 獲取code 並 wx.request 提交 code 給己方伺服器

小程式端 wx.setstorage 儲存 3rd_session 在後續使用者操作需要憑證時 附帶該引數

小程式端 wx.getuserinfo 獲取使用者資訊 + wx.getstorage 獲取 3rd_session 資料後,一併 wx.request 提交給己方伺服器

伺服器 sql 使用者資料資訊更新

//使用者登陸

function userlogin() ,

fail: function ()

})}

function onlogin() ,

success: function (res) )

getuserinfo()

}else

},fail: function (res) })}

},fail: function (res)

}) }

function getuserinfo() ,

fail: function ()

})}

function userinfosetinsql(userinfo) ,

success: function (res)

else }})

}})}

生成3rd_session

用於第三方伺服器和小程式之間做登入態校驗.為了保證安全性,3rd_session應該長度夠長,一定有效時間, session_key + openid, key, 為 value, 寫入到session儲存.

3rd_session寫入storage:

後續使用者進入小程式,先從storage讀取3rd_session

根據請求,在session儲存中查詢合法的session_key和openid

onlaunch: function() else

}});

}})唯一標識(openid)和會話金鑰(session_key)

檢測當前使用者登入態是否有效

wx.checksession(,

fail: function()

})

wx.checksession(,

fail:(res=>

wepy.request().then(res=>

wepy.request().then((res)=>)

//儲存使用者資訊[userinfo]

wx.setstorage()})}

})}});})

})

onshow());

}else

} //我們假設這個頁面需要獲取使用者的資訊,首先給乙個button[open-type設定為getuserinfo],使用這個拿到使用者的資訊,

getuserinfo(e))

//這裡做這樣的處理,是因為需求需要點選購物車按鈕跳轉訂單待支付頁,在沒有獲取到使用者資訊之前,跳轉購物車的按鈕隱藏,獲取使用者資訊按鈕顯示,反之則返

this.button = 'none'; //獲取使用者資訊button

this.mymenu = 'block'; //跳轉待支付訂單頁

//更新快取中的使用者資訊

對稱解密的目標密文為 base64_decode(encrypteddata)。

對稱解密演算法初始向量 為base64_decode(iv),其中iv由資料介面返回。

signature = sha1( rawdata + session_key )

//最終供外面呼叫的方法

function login()})}

});}function thirdlogin(code,encrypteddata,iv),

onsuccess:function (data),

onerror : function(msgcanshow,code,hiddenmsg)

}).send();

}

微信小程式授權登入

在這裡插入描述 前端部分 編寫自己的介面login.wxml login.js 獲取應用例項 page 生命週期函式 監聽頁面載入 onload function options 登入 dologin function e 後端部分 後端運用的是springboot框架 專案結構 官方教程 官方流程...

微信小程式授權登入

首先這個流程是怎麼樣的呢?他這個流程圖還是很ok的 code換取openid res getcurl url return json array code 0 msg 獲取成功!data json decode res 然後前段就可以獲取到代表使用者的openid和sessionkey了,然後就是我...

uni app微信小程式登入授權

首先是需要用到乙個授權按鈕來觸發獲取使用者資訊授權 關鍵在於 open type 為 getuserinfo 然後有個 getuserinfo的事件,把獲取授權介面寫到該事件裡面去 方法如下 ifdef mp weixin uni.getprovider fail fail else endif 在...