微信小程序調(diào)用后臺(tái)service教程詳解
寫在前頭,本篇文章簡(jiǎn)單記錄一下,在前后端分離的微信小程序應(yīng)用中,前端訪問后臺(tái)service的實(shí)現(xiàn)思路,沒有過多涉及技術(shù)實(shí)現(xiàn)方面。
先上一張官網(wǎng)的圖片,它很清楚的講明了要在后臺(tái)service為每一個(gè)小程序用戶提供登錄信息需要做哪些事情。用戶拿到了后臺(tái)給的登錄憑據(jù),訪問后臺(tái)service。
靜默授權(quán)與非靜默授權(quán)
先來講講這兩個(gè)概念,靜默授權(quán),顧名思義,這授權(quán)動(dòng)作對(duì)于用戶來說是感知不到的,小程序端悄咪咪得就做了。因此,沒有知會(huì)用戶的授權(quán)方式拿到的信息也是不太重要的。但是,靜默授權(quán)是開始重要的一步,因?yàn)樗鼮榻酉聛淼膭?dòng)作提供了code。調(diào)用靜默授權(quán)可用小程序提供的API:wx.login()。再來講講非靜默授權(quán),顧名思義,它的授權(quán)是要有明顯動(dòng)靜的,而且它是要得到用戶認(rèn)可才可以執(zhí)行。API:wx.getUserInfo(),這個(gè)接口要不要用可根據(jù)小程序的實(shí)際需求來。
后臺(tái)獲取openId
小程序提供了一個(gè)接口code2session,拿著我們靜默授權(quán)獲取到的臨時(shí)登錄憑證code再調(diào)用一下這個(gè)接口就能獲取到openId了。openId是在當(dāng)前小程序中對(duì)用戶唯一性的標(biāo)識(shí)。注意,這一步是在后臺(tái)服務(wù)器做的,我們參考一下官網(wǎng)的文檔(后端API)就會(huì)更清楚了。它說:
后端API不能直接在小程序內(nèi)通過wx.request調(diào)用,即api.weixin.qq.com不能被配置為服務(wù)器域名。
但是我們會(huì)有疑問,我們?cè)谧约洪_發(fā)的時(shí)候,在小程序端調(diào)用是success的,和官網(wǎng)說的并不一樣。如果你碰到和我一樣的疑問可以看看這個(gè)(重點(diǎn)在4.4.2服務(wù)器接口)。
基于OAuth2.0生成token
在后臺(tái),可以用SpringSecurity的OAuth2.0這一個(gè)工具,用openId來生成前端請(qǐng)求后端數(shù)據(jù)的附帶校驗(yàn)信息token。具體是如何實(shí)現(xiàn)的筆者也沒有深入了解……獲取到了這個(gè)token后,前端可將其存入webStorage中,每一次調(diào)用后臺(tái)service的時(shí)候,就可以利用請(qǐng)求的攔截器在config參數(shù)中加入token。后端就可以確定發(fā)送請(qǐng)求的用戶身份,保證了系統(tǒng)的安全性。
總結(jié):以上大致描繪了小程序后臺(tái)自定義登錄態(tài)的開發(fā)思路。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS實(shí)現(xiàn)的base64加密、md5加密及sha1加密詳解
這篇文章主要介紹了JS實(shí)現(xiàn)的base64加密、md5加密及sha1加密的方法,結(jié)合實(shí)例形式詳細(xì)分析了JavaScript各種常見加密方法與實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-04-04js實(shí)現(xiàn)jquery的offset()方法實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)jquery的offset()方法,實(shí)例分析了jquery的offset()方法原理與采用javascript實(shí)現(xiàn)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01WEB開發(fā)之注冊(cè)頁面驗(yàn)證碼倒計(jì)時(shí)代碼的實(shí)現(xiàn)
近期在搞一個(gè)H5+backbone 項(xiàng)目,驗(yàn)證輸入手機(jī)號(hào) 驗(yàn)證碼倒計(jì)時(shí)功能,代碼中包含了前端樣式布局代碼和后端邏輯實(shí)現(xiàn),思路明確,具有參考借鑒價(jià)值,需要的朋友參考下吧2016-12-12js中獲取URL參數(shù)的共用方法getRequest()方法實(shí)例詳解
本文通過實(shí)例代碼給大家介紹了js中獲取URL參數(shù)的共用方法getRequest()方法 ,文末給大家提到了js獲取url參數(shù)值的兩種方式,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10不到30行JS代碼實(shí)現(xiàn)Excel表格的方法
這篇文章主要介紹了不到30行JS代碼實(shí)現(xiàn)Excel表格的方法,實(shí)現(xiàn)方法簡(jiǎn)單易懂,非常具有實(shí)用價(jià)值,可部分代替jQuery的功能,需要的朋友可以參考下2014-11-11JS實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)小功能
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01javascript獲得CheckBoxList選中的數(shù)量
javascript獲得CheckBoxList選中的數(shù)量(jQuery與Javascript對(duì)照學(xué)習(xí)/前臺(tái)與后臺(tái))2009-10-10