微信小程序调用后台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实现计算代码行数的简单方法附代码
Aug 13 Javascript
JQuery AJAX实现目录浏览与编辑的代码
Oct 21 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
Jul 05 Javascript
jquery交替变换颜色的三种方法 实例代码
Nov 19 Javascript
2014 HTML5/CSS3热门动画特效TOP10
Dec 07 Javascript
JQuery勾选指定name的复选框集合并显示的方法
May 18 Javascript
基于JavaScript实现瀑布流布局(二)
Jan 26 Javascript
通过扫描二维码打开app的实现代码
Nov 10 Javascript
详解vue-router2.0动态路由获取参数
Jun 14 Javascript
vue-router 导航钩子的具体使用方法
Aug 31 Javascript
JavaScript实现与使用发布/订阅模式详解
Jan 19 Javascript
小程序如何写动态标签的实现方法
Feb 05 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 split汉字
2009/06/05 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
php微信开发之百度天气预报
2016/11/18 PHP
php中请求url的五种方法总结
2017/07/13 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
js类型检查实现代码
2010/10/29 Javascript
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
jQuery qrcode生成二维码的方法
2016/04/03 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
详解jQuery中的事件
2016/12/14 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
python实现比较文件内容异同
2018/06/22 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
新年寄语大全
2014/04/12 职场文书
宣传普通话标语
2014/06/27 职场文书
大学生作弊检讨书
2014/09/11 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js