登錄流程
- 小程序通過
wx.login
獲取code
(用戶登錄憑證,有效期五分鍾,使用一次后實效) - 服務端拿到
code
,調用code2Session
,獲取用戶的openid
(用戶在當前應用的唯一標識)、unionid
(用戶在開發平台的唯一標識)session_key
(會話秘鑰是對用戶數據進行 加密簽名 的秘鑰,在獲取用戶信息時會用到) 等信息。為了安全,服務器不應該把會話秘鑰下發到小程序,也不應該對外提供這個秘鑰 - 通過
unionid
openid
自定義服務端登錄態
獲取用戶信息
- 用戶授權后,小程序通過
wx.getUserInfo
獲取用戶信息,敏感信息被加密 - 把加密信息傳給服務端,使用在登錄時獲取的
session_key
解密數據,解密方法可以看微信的 開放數據校驗與解密文檔
獲取手機號
需要用戶主動觸發才能發起獲取手機號接口,所以該功能不由 API 來調用,需用 <button>
組件的點擊來觸發。獲取手機號文檔。
- 小程序通過
<button>
組件觸發getPhoneNumber
事件,獲得加密后的信息 - 把加密信息傳給服務端,使用在登錄時獲取的
session_key
解密數據,獲得用戶綁定的手機號