欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信小程序?qū)崿F(xiàn)微信登錄 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >

微信小程序?qū)崿F(xiàn)微信登錄

發(fā)表時(shí)間:2020-9-26

發(fā)布人:葵宇科技

瀏覽次數(shù):76

小程序登錄

小程序可以通過微信官方提供的登錄能力方便地獲取微信提供的用戶身份標(biāo)識(shí),快速建立小程序內(nèi)的用戶體系。

登錄流程時(shí)序
在這里插入圖片描述
說明: 調(diào)用 wx.login() 獲取 臨時(shí)登錄憑證 code ,并回傳到開發(fā)者服務(wù)器。調(diào)用 auth.code2Session 接口,換取 用戶唯一標(biāo)識(shí) OpenID 和 會(huì)話密鑰 session_key。之后開發(fā)者服務(wù)器可以根據(jù)用戶標(biāo)識(shí)來生成自定義登錄態(tài),用于后續(xù)業(yè)務(wù)邏輯中前后端交互時(shí)識(shí)別用戶身份。 注意:會(huì)話密鑰 session_key 是對(duì)用戶數(shù)據(jù)進(jìn)行 加密簽名 的密鑰。為了應(yīng)用自身的數(shù)據(jù)安全,開發(fā)者服務(wù)器不應(yīng)該把會(huì)話密鑰下發(fā)到小程序,也不應(yīng)該對(duì)外提供這個(gè)密鑰。臨時(shí)登錄憑證 code 只能使用一次

小程序登錄態(tài)

對(duì)于小程序來說,也需要一個(gè)唯一的標(biāo)識(shí)符來區(qū)分用戶,也就是session來保持會(huì)話,但是小程序沒有cookie, 因此我們的唯一標(biāo)識(shí)符會(huì)被存儲(chǔ)在 localstorage 里面,每次發(fā)請(qǐng)求時(shí),都會(huì)從localStorage 里面拿到這個(gè)唯一標(biāo)識(shí)符,帶在請(qǐng)求中。

微信的openid和code

在日常開發(fā)中,我們也經(jīng)常聽到 openid 和 code 的概念。

openid 用來標(biāo)識(shí)這個(gè)唯一的微信用戶,也就是說,一個(gè)微信用戶相對(duì)于一個(gè)公眾號(hào)(主體)的 openid 是唯一的,是不會(huì)變的。

那么我們?nèi)绾尾拍苤?某一個(gè)用戶的 openid 呢?

就是通過 code, 對(duì)于同一個(gè)用戶,每次獲取到的 code 都會(huì)改變,有有效期。我們把 code 作為參數(shù),調(diào)用指定的微信服務(wù)器的接口,就可以拿到用戶的 openid 。

那么我們?nèi)绾尾拍苣玫?code 呢?

  • 微信內(nèi)h5頁(yè)面的方法是:跳到指定的微信的承接頁(yè)面,再跳回到本頁(yè)面,url鏈接上就會(huì)被拼上 code 。
  • 小程序的方法是: 通過調(diào)用 wx.login() 方法,就可以拿到用戶的 code

微信小程序登錄體系

  1. 通過 wx.login() 獲取到用戶的code
  2. 通過 wx.request() 方法請(qǐng)求我們自己的后端,我們自己的服務(wù)端把 appid , appsecret 和 code 一起發(fā)送到微信服務(wù)器。 appid 和 appsecret 都是微信提供的,可以在管理員后臺(tái)找到
  3. 微信服務(wù)器返回了 openid
  4. 我們?cè)谧约旱臄?shù)據(jù)庫(kù)中,查找 openid ,如果沒有查到記錄,說明該用戶沒有注冊(cè),如果有記錄,則繼續(xù)往下走
  5. 我們生成一個(gè)第三方 session , 也就是 session_id , 也就是用戶唯一標(biāo)識(shí)符。在 redis 中,把 session_id 和用戶的身份存進(jìn)去。
  6. 返回 3rd_session
  7. 小程序把 3rd_session 存到 storage 里面
  8. 下次請(qǐng)求時(shí),先從 storage 里面讀取,然后帶給服務(wù)端
  9. 服務(wù)端從 redis 里面找到 3rd_session 對(duì)應(yīng)的記錄,然后校驗(yàn)有效期

相關(guān)案例查看更多