当前位置:网站首页>生成用户的唯一标识(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的查找
边栏推荐
猜你喜欢
Flask framework to study: the debug and configuration items
C语言结构体——位段概念的讲解
flaks框架学习:在 URL 中添加变量
【转载】如何理解数据集中【训练集】、【验证集】和【测试集】
C语言自定义类型——枚举类型讲解
C语言结构体详解 (2) 结构体内存对齐,默认对齐数
task06 PyTorch生态
搭建PX4开发环境
【网站小白】mySQL数据库异常断开
Redis - Data Types (Basic Instructions, String, List, Set, Hash, ZSet, BitMaps, HyperLogLog, GeoSpatial) / Publish and Subscribe
随机推荐
c指针学习(2)
Redis - Data Types (Basic Instructions, String, List, Set, Hash, ZSet, BitMaps, HyperLogLog, GeoSpatial) / Publish and Subscribe
第8章 函数探幽 -1
C语言——文件操作函数 fseek、ftell、rewind详解
Win下安装不同版本的MinGW(g++/gcc)以及对应clion编辑器的配置
Markdown 常用到的一些编写技巧
Pytorch最全安装教程(一步到位)
Blender 初教程
做款好喝的茶饮~
第9章 内存模型和名称空间
二、Jmeter 核心配置文件
ClionIDE compiles by specifying the compiler
【C语言从初阶到进阶】第二篇 初始C语言(二)
C语言之EOF、feof函数、ferror函数
gradle-wrapper.jar说明
[Verilog] I2S Master Test Bench
【win10+cuda7.5+cudnn6.0安装caffe①】安装cuda和cudnn
Randomly generate uuid using rand function
第8章 函数探幽-2
第10章 对象和类 -1