微信小程序调用后台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
Mar 09 Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 Javascript
JavaScript实现点击按钮直接打印
Jan 06 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
Oct 21 Javascript
JavaScript登录记住密码操作(超简单代码)
Mar 22 Javascript
JS 使用 window对象的print方法实现分页打印功能
May 16 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
May 23 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
Nov 30 Javascript
Vue.js中该如何自己维护路由跳转记录
May 19 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
Jul 21 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 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实现telnet功能示例
2014/04/08 PHP
php使用百度天气接口示例
2014/04/22 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
jquery实现(textarea)placeholder自动换行
2016/12/22 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
pandas 条件搜索返回列表的方法
2018/10/30 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
python列表推导式入门学习解析
2019/12/02 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
利用python实现汉诺塔游戏
2021/03/01 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
高三毕业生自我鉴定
2013/12/20 职场文书
技校个人求职信范文
2014/01/25 职场文书
军人违纪检讨书
2014/02/04 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
写给老师的保证书
2015/05/09 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
Go语言入门exec的基本使用
2022/05/20 Golang