微信小程序调用后台service教程详解


Posted in Javascript onNovember 06, 2020

写在前头,本篇文章简单记录一下,在前后端分离的微信小程序应用中,前端访问后台service的实现思路,没有过多涉及技术实现方面。

先上一张官网的图片,它很清楚的讲明了要在后台service为每一个小程序用户提供登录信息需要做哪些事情。用户拿到了后台给的登录凭据,访问后台service。

微信小程序调用后台service教程详解

静默授权与非静默授权

先来讲讲这两个概念,静默授权,顾名思义,这授权动作对于用户来说是感知不到的,小程序端悄咪咪得就做了。因此,没有知会用户的授权方式拿到的信息也是不太重要的。但是,静默授权是开始重要的一步,因为它为接下来的动作提供了code。调用静默授权可用小程序提供的API:wx.login()。再来讲讲非静默授权,顾名思义,它的授权是要有明显动静的,而且它是要得到用户认可才可以执行。API:wx.getUserInfo(),这个接口要不要用可根据小程序的实际需求来。

后台获取openId

小程序提供了一个接口code2session,拿着我们静默授权获取到的临时登录凭证code再调用一下这个接口就能获取到openId了。openId是在当前小程序中对用户唯一性的标识。注意,这一步是在后台服务器做的,我们参考一下官网的文档(后端API)就会更清楚了。它说:

后端API不能直接在小程序内通过wx.request调用,即api.weixin.qq.com不能被配置为服务器域名。

但是我们会有疑问,我们在自己开发的时候,在小程序端调用是success的,和官网说的并不一样。如果你碰到和我一样的疑问可以看看这个(重点在4.4.2服务器接口)。

基于OAuth2.0生成token

在后台,可以用SpringSecurity的OAuth2.0这一个工具,用openId来生成前端请求后端数据的附带校验信息token。具体是如何实现的笔者也没有深入了解……获取到了这个token后,前端可将其存入webStorage中,每一次调用后台service的时候,就可以利用请求的拦截器在config参数中加入token。后端就可以确定发送请求的用户身份,保证了系统的安全性。

微信小程序调用后台service教程详解

总结:以上大致描绘了小程序后台自定义登录态的开发思路。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
简单JS代码压缩器
Oct 12 Javascript
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
Aug 06 Javascript
jquery弹出层类代码分享
Dec 27 Javascript
JS实现可拖曳、可关闭的弹窗效果
Sep 26 Javascript
js实现商品抛物线加入购物车特效
Nov 18 Javascript
Javascript同时声明一连串(多个)变量的方法
Jan 23 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
Jul 16 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
Oct 25 Javascript
彻底揭秘keep-alive原理(小结)
May 05 Javascript
vue 解决form表单提交但不跳转页面的问题
Oct 30 Javascript
js+canvas实现转盘效果(两个版本)
Sep 13 Javascript
Nuxt.js nuxt-link与router-link的区别说明
Nov 06 #Javascript
在nuxt中使用路由重定向的实例
Nov 06 #Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
Nov 06 #Javascript
Nuxt的路由配置和参数传递方式
Nov 06 #Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
Nov 06 #Javascript
Jquery Fade用法详解
Nov 06 #jQuery
nuxt静态部署打包相对路径操作
Nov 06 #Javascript
You might like
PHP图片上传类带图片显示
2006/11/25 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
浅谈JavaScript find 方法不支持IE的问题
2017/09/28 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
玩转Koa之koa-router原理解析
2018/12/29 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
Python logging模块写入中文出现乱码
2020/05/21 Python
解决python运行启动报错问题
2020/06/01 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
HTML5未来发展趋势
2016/02/01 HTML / CSS
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
软件测试面试题
2015/10/21 面试题
中专毕业生的自我鉴定
2013/12/01 职场文书
岗位职责风险点
2014/03/12 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
2015年审计人员工作总结
2015/05/26 职场文书
学校隐患排查制度
2015/08/05 职场文书