微信小程序调用后台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 相关文章推荐
jQuery中Dom的基本操作小结
Jan 23 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
May 23 Javascript
JavaScript闭包函数访问外部变量的方法
Aug 27 Javascript
javascript实现日期按月份加减
May 15 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
Jun 10 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
Nov 21 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
Oct 26 Javascript
Koa日志中间件封装开发详解
Mar 09 Javascript
解决vue 单文件组件中样式加载问题
Apr 24 Javascript
小程序实现可拖动的悬浮按钮
Sep 07 Javascript
使用js和canvas实现时钟效果
Sep 08 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
Oct 02 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在不同页面间传递Json数据示例代码
2013/06/08 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
vue实现计步器功能
2019/11/01 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
Python列表append和+的区别浅析
2015/02/02 Python
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
python读取文件名称生成list的方法
2018/04/27 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
Python使用windows设置定时执行脚本
2020/11/12 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
初中同学聚会邀请函
2014/02/03 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
大学生见习报告总结
2014/11/04 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书