微信小程序调用后台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 相关文章推荐
Javascript !!的作用
Dec 04 Javascript
仿新浪微博登陆邮箱提示效果的js代码
Aug 02 Javascript
Javascript仿PHP $_GET获取URL中的参数
May 12 Javascript
js创建对象的方式总结
Jan 10 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
Oct 10 Javascript
js+html制作简单日历的方法
Jun 27 Javascript
详解Vue组件实现tips的总结
Nov 01 Javascript
常用的9个JavaScript图表库详解
Dec 19 Javascript
详解webpack打包后如何调试的方法步骤
Nov 07 Javascript
小程序文字跑马灯效果
Dec 28 Javascript
Vue 实现输入框新增搜索历史记录功能
Oct 15 Javascript
JavaScript架构localStorage特殊场景下二次封装操作
Jun 21 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 第一节 php简介
2012/04/28 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
JS库之Waypoints的用法详解
2017/09/13 Javascript
JavaScript模块模式实例详解
2017/10/25 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
vue写h5页面的方法总结
2019/02/12 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
python利用不到一百行代码实现一个小siri
2017/03/02 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
python 消费 kafka 数据教程
2019/12/21 Python
Pytorch对Himmelblau函数的优化详解
2020/02/29 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
2020/07/20 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
北京华建集团SQL面试题
2014/06/03 面试题
实习单位推荐信范文
2013/11/27 职场文书
采购部主管岗位职责
2014/01/01 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书
人民币使用说明书
2019/04/17 职场文书
OpenCV-Python实现轮廓的特征值
2021/06/09 Python