乐趣区

微信小程序如何调用后台service的简单记录

写在前头,本篇文章简单记录一下,在前后端分离的微信小程序应用中,前端访问后台 service 的实现思路,没有过多涉及技术实现方面。
先上一张官网的图片,它很清楚的讲明了要在后台 service 为每一个小程序用户提供登录信息需要做哪些事情。用户拿到了后台给的登录凭据,访问后台 service。

静默授权与非静默授权
先来讲讲这两个概念,静默授权,顾名思义,这授权动作对于用户来说是感知不到的,小程序端悄咪咪得就做了。因此,没有知会用户的授权方式拿到的信息也是不太重要的。但是,静默授权是开始重要的一步,因为它为接下来的动作提供了 code。调用静默授权可用小程序提供的 API:wx.login()。再来讲讲非静默授权,顾名思义,它的授权是要有明显动静的,而且它是要得到用户认可才可以执行。API:wx.getUserInfo(),这个接口要不要用可根据小程序的实际需求来。
后台获取 openId
小程序提供了一个接口 code2session,拿着我们静默授权获取到的临时登录凭证 code 再调用一下这个接口就能获取到 openId 了。注意,这一步是在后台服务器做的。openId 是在当前小程序中对用户唯一性的标识。
基于 OAuth2.0 生成 token
在后台,可以用 SpringSecurity 的 OAuth2.0 这一个工具,用 openId 来生成前端请求后端数据的附带校验信息 token。具体是如何实现的笔者也没有深入了解……获取到了这个 token 后,前端可将其存入 webStorage 中,每一次调用后台 service 的时候,就可以利用请求的拦截器在 config 参数中加入 token。后端就可以确定发送请求的用户身份,保证了系统的安全性。
总结:以上大致描绘了小程序后台自定义登录态的开发思路。

退出移动版