当前位置:网站首页>生成用户的唯一标识(openId),并且加密
生成用户的唯一标识(openId),并且加密
2022-08-11 05:17:00 【肖肖冲鸭】
主要步骤:
- 获取appId,appSecret,以及code(使用wx.login获取)
- 接收到微信服务器返回的数据,对当前用户数据进行自定义绑定,加密
server.js服务器中
const KoaRouter=require('koa-router')
// 2.生成路由器对象
const router=new KoaRouter()
// 引入之前 npm install flyio(作用相当于axios,只不过小程序里面没有axios)
const Fly=require('flyio/src/node')
const fly=new Fly;
// 引入加密的包(引入之前npm install jsonwebtoken)
const jwt=require('jsonwebtoken')
// 注册用户openId
router.get('/getOpenId',async(ctx)=>{
// 1.接收请求参数
let code=ctx.query.code
// console.log('code',code)
// 2.整合数据对接微信服务器
let appId='wx45ae1e9b07e371a4'
let appSecret='1ab1044500e812dc8cdc0f7176980344'
// 3.接收到微信服务器返回的数据,对当前用户数据进行自定义绑定,加密
let url=`https://api.weixin.qq.com/sns/jscode2session?appid=${
appId}&secret=${
appSecret}&js_code=${
code}&grant_type=authorization_code`
let result=await fly.get(url)
let openId=JSON.parse(result.data).openid
// console.log(openId)
// 4.返回给浏览器端当前用户加密后的标识
let userInfo={
openId,
username:'nihao',
age:21
}
// 4.1 对用户数据加密,生成token
let token=jwt.sign(userInfo,'xiaoxiao')
console.log(token)
// 反编译token字段(解密)
result=jwt.verify(token,'xiaoxiao')
console.log(result)
// 5.返回加密后的数据给浏览器端
ctx.body=token
})
personal.vue中(获取唯一标识openId,并存入本地)
// 获取用户的唯一标识
// 1. 获取用户 的登录凭证
wx.login({
success: async(res) => {
// console.log(res)
let code=res.code
// 2.将code发请求发送给服务器端
let token=await request('/getOpenId',{
code})
// console.log(token)
// 3.将token存入本地
wx.setStorageSync('token',token)
}
})
官方文档中相关api的查找
边栏推荐
猜你喜欢
二、Jmeter 核心配置文件
深入理解线程、进程、多线程、线程池
简单做份西红柿炒蛋778
(三)性能实时监控平台搭建(Grafana+Prometheus+Node_explorer+Jmeter)
Redis - Data Types (Basic Instructions, String, List, Set, Hash, ZSet, BitMaps, HyperLogLog, GeoSpatial) / Publish and Subscribe
【网站小白】mySQL数据库异常断开
搭建PX4开发环境
Django--20 implements Redis support, context, and interaction of context and interface
(3) How Redis performs stress testing
Flask framework learning: template inheritance
随机推荐
第8章 函数探幽 -1
开炮,开炮
家·谱——人脸识别家谱系统
看完这篇博客之后,含着泪学会了TCP/IP
吃瓜教程task01 第2章 模型评估与选择
怎么用管理员方式打开压缩包
C语言自定义类型——枚举类型讲解
【win10+cuda7.5+cudnn6.0安装caffe④】安装pycaffe
【C语言从初阶到进阶】第二篇 初始C语言(二)
C语言——逆序输出字符串的函数实现
flask框架学习:debug与配置项
简单做份西红柿炒蛋778
利用rand函数随机生成uuid
Flask框架学习:路由的尾部斜杠
Chapter 13 Class Inheritance-1
第10章 对象和类 -1
【win10+cuda7.5+cudnn6.0安装caffe①】安装cuda和cudnn
二、Jmeter 核心配置文件
博客帮助文档
第13章类继承