成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:說說微信小程序的登錄流程?

開發 前端
傳統的web開發實現登陸功能,一般的做法是輸入賬號密碼、或者輸入手機號及短信驗證碼進行登錄。

 [[431025]]

 一、背景

傳統的web開發實現登陸功能,一般的做法是輸入賬號密碼、或者輸入手機號及短信驗證碼進行登錄

服務端校驗用戶信息通過之后,下發一個代表登錄態的 token 給客戶端,以便進行后續的交互,每當token過期,用戶都需要重新登錄

而在微信小程序中,可以通過微信官方提供的登錄能力方便地獲取微信提供的用戶身份標識,快速建立小程序內的用戶體系,從而實現登陸功能

實現小程序用戶體系主要涉及到openid和code的概念:

  • 調用wx.login()方法會生成code,將code作為參數傳遞給微信服務器指定接口,就可以獲取用戶的openid

對于每個小程序,微信都會將用戶的微信ID映射出一個小程序 openid,作為這個用戶在這個小程序的唯一標識

二、流程

微信小程序登陸具體實現的邏輯如下圖所示:

  • 通過 wx.login() 獲取到用戶的code判斷用戶是否授權讀取用戶信息,調用wx.getUserInfo 讀取用戶數據
  • 由于小程序后臺授權域名無法授權微信的域名,所以需要自身后端調用微信服務器獲取用戶信息
  • 通過 wx.request() 方法請求業務方服務器,后端把 appid , appsecret 和 code 一起發送到微信服務器。appid 和 appsecret 都是微信提供的,可以在管理員后臺找到
  • 微信服務器返回了 openid 及本次登錄的會話密鑰 session_key
  • 后端從數據庫中查找 openid ,如果沒有查到記錄,說明該用戶沒有注冊,如果有記錄,則繼續往下走
  • session_key 是對用戶數據進行加密簽名的密鑰。為了自身應用安全,session_key 不應該在網絡上傳輸
  • 然后生成 session并返回給小程序
  • 小程序把 session 存到 storage 里面
  • 下次請求時,先從 storage 里面讀取,然后帶給服務端
  • 服務端對比 session 對應的記錄,然后校驗有效期

更加詳細的功能圖如下所示:

三、擴展

實際業務中,我們還需要登錄態是否過期,通常的做法是在登錄態(臨時令牌)中保存有效期數據,該有效期數據應該在服務端校驗登錄態時和約定的時間(如服務端本地的系統時間或時間服務器上的標準時間)做對比

這種方法需要將本地存儲的登錄態發送到小程序的服務端,服務端判斷為無效登錄態時再返回需重新執行登錄過程的消息給小程

另一種方式可以通過調用wx.checkSession檢查微信登陸態是否過期:

如果過期,則發起完整的登錄流程

如果不過期,則繼續使用本地保存的自定義登錄態

這種方式的好處是不需要小程序服務端來參與校驗,而是在小程序端調用AP,流程如下所示:

參考文獻

https://segmentfault.com/a/1190000016750340

https://juejin.cn/post/6955754095860776973

https://www.cnblogs.com/zwh0910/p/13977278.html

責任編輯:武曉燕 來源: JS每日一題
相關推薦

2021-10-26 11:53:50

微信面試支付

2021-10-27 10:27:36

微信小程序流程

2021-10-28 19:32:16

微信原理程序

2021-10-19 08:07:21

微信小程序代碼

2021-10-20 07:18:51

微信小程序函數

2021-10-21 07:18:02

微信程序方式

2024-12-06 07:00:00

2024-03-01 11:33:31

2024-09-12 08:35:06

2020-02-05 14:12:19

微信淘寶開端

2024-03-05 10:33:39

AOPSpring編程

2024-08-22 10:39:50

@Async注解代理

2025-04-08 00:00:00

@AsyncSpring異步

2024-11-19 15:13:02

2023-12-27 18:16:39

MVCC隔離級別幻讀

2025-04-16 00:00:01

JWT客戶端存儲加密令

2024-05-30 08:04:20

Netty核心組件架構

2024-02-20 08:13:35

類加載引用Class

2024-07-31 08:28:37

DMAIOMMap

2024-03-14 14:56:22

反射Java數據庫連接
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕视频一区 | 99热这里有精品 | 看一级毛片视频 | 国产乱码精品一区二区三区忘忧草 | 国产精品免费一区二区 | 国产999在线观看 | 亚洲美乳中文字幕 | 新疆少妇videos高潮 | 国产二区三区 | 欧美一级片久久 | 香蕉视频1024 | 欧美精品一区在线发布 | 免费一区 | 亚洲精品99| 国产欧美精品区一区二区三区 | 久久区二区 | 国产欧美一区二区三区在线看 | 九色www| 日本一区二区在线视频 | 91xxx在线观看 | 精品免费视频 | 福利一区在线观看 | www.天天操.com | 亚洲国产精品成人无久久精品 | 国产午夜精品一区二区三区四区 | 国产成人精品网站 | 看av片网站 | 97免费在线观看视频 | 在线精品一区二区三区 | 懂色av蜜桃av| 国产精品中文在线 | 玖玖综合网 | 四虎影院新网址 | 亚洲国产精品久久久久秋霞不卡 | 日本不卡视频在线播放 | 国产黑丝av | japanhdxxxx裸体 | 久久99深爱久久99精品 | 亚洲一区二区三区四区五区午夜 | 不卡一二区 | 一区二区三区国产 |