微信小程序調(diào)用后臺service教程詳解
寫在前頭,本篇文章簡單記錄一下,在前后端分離的微信小程序應(yīng)用中,前端訪問后臺service的實(shí)現(xiàn)思路,沒有過多涉及技術(shù)實(shí)現(xiàn)方面。
先上一張官網(wǎng)的圖片,它很清楚的講明了要在后臺service為每一個小程序用戶提供登錄信息需要做哪些事情。用戶拿到了后臺給的登錄憑據(jù),訪問后臺service。

靜默授權(quán)與非靜默授權(quán)
先來講講這兩個概念,靜默授權(quán),顧名思義,這授權(quán)動作對于用戶來說是感知不到的,小程序端悄咪咪得就做了。因此,沒有知會用戶的授權(quán)方式拿到的信息也是不太重要的。但是,靜默授權(quán)是開始重要的一步,因?yàn)樗鼮榻酉聛淼膭幼魈峁┝薱ode。調(diào)用靜默授權(quán)可用小程序提供的API:wx.login()。再來講講非靜默授權(quán),顧名思義,它的授權(quán)是要有明顯動靜的,而且它是要得到用戶認(rèn)可才可以執(zhí)行。API:wx.getUserInfo(),這個接口要不要用可根據(jù)小程序的實(shí)際需求來。
后臺獲取openId
小程序提供了一個接口code2session,拿著我們靜默授權(quán)獲取到的臨時登錄憑證code再調(diào)用一下這個接口就能獲取到openId了。openId是在當(dāng)前小程序中對用戶唯一性的標(biāo)識。注意,這一步是在后臺服務(wù)器做的,我們參考一下官網(wǎng)的文檔(后端API)就會更清楚了。它說:
后端API不能直接在小程序內(nèi)通過wx.request調(diào)用,即api.weixin.qq.com不能被配置為服務(wù)器域名。
但是我們會有疑問,我們在自己開發(fā)的時候,在小程序端調(diào)用是success的,和官網(wǎng)說的并不一樣。如果你碰到和我一樣的疑問可以看看這個(重點(diǎn)在4.4.2服務(wù)器接口)。
基于OAuth2.0生成token
在后臺,可以用SpringSecurity的OAuth2.0這一個工具,用openId來生成前端請求后端數(shù)據(jù)的附帶校驗(yàn)信息token。具體是如何實(shí)現(xiàn)的筆者也沒有深入了解……獲取到了這個token后,前端可將其存入webStorage中,每一次調(diào)用后臺service的時候,就可以利用請求的攔截器在config參數(shù)中加入token。后端就可以確定發(fā)送請求的用戶身份,保證了系統(tǒng)的安全性。

總結(jié):以上大致描繪了小程序后臺自定義登錄態(tài)的開發(fā)思路。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一文帶你理解微信小程序中RPC通信的實(shí)現(xiàn)
在微信小程序開發(fā)中,要實(shí)現(xiàn)兩個線程之間的通信是一項(xiàng)重要的任務(wù),所以本文就來講講如何使用小程序的?postMessage?和?addListener?API?來實(shí)現(xiàn)在兩個線程之間進(jìn)行高效的?RPC?通信吧2023-06-06
基于JS實(shí)現(xiàn)發(fā)送驗(yàn)證碼的計(jì)時器效果
這篇文章主要為大家詳細(xì)介紹了如何基于JS實(shí)現(xiàn)一個發(fā)送驗(yàn)證碼的計(jì)時器效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2023-11-11
JavaScript原型繼承_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript原型繼承的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
js控制一個按鈕是否可點(diǎn)擊(可使用)disabled的實(shí)例
下面小編就為大家?guī)硪黄猨s控制一個按鈕是否可點(diǎn)擊(可使用)disabled的實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
javascript實(shí)現(xiàn)unicode和字符的互相轉(zhuǎn)換
javascript實(shí)現(xiàn)unicode和字符的互相轉(zhuǎn)換...2007-07-07

