微信小程序调用后台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 相关文章推荐
在IE6下发生Internet Explorer cannot open the Internet site错误
Jun 21 Javascript
Jquery获取和修改img的src值的方法
Feb 17 Javascript
浅析javascript中function 的 length 属性
May 27 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
Mar 02 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
Oct 31 Javascript
js实现键盘自动打字效果
Dec 23 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
Dec 15 Javascript
jquery中done和then的区别(详解)
Dec 19 jQuery
浅谈Angular6的服务和依赖注入
Jun 27 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
Apr 10 Javascript
浅谈layui 数据表格前后台传值的问题
Sep 12 Javascript
微信小程序canvas分享海报功能
Oct 31 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
一个程序下载的管理程序(一)
2006/10/09 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
echarts饼图各个板块之间的空隙如何实现
2020/12/01 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
自我鉴定书范文
2013/10/02 职场文书
毕业生自我鉴定
2013/11/05 职场文书
妇女干部培训方案
2014/05/12 职场文书
体育系毕业生自荐信
2014/06/28 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
《所见》教学反思
2016/02/23 职场文书
详解CSS3浏览器兼容
2022/12/24 HTML / CSS