Express中间件针对微信小程序登录场景来解密微信用户信息数据

网友投稿 667 2022-10-17

Express中间件针对微信小程序登录场景来解密微信用户信息数据

Express中间件针对微信小程序登录场景来解密微信用户信息数据

Express-weapp-auth

Express middleware to decrypt wechat userInfo data for weapp login scenario.

Installation

# via Githubnpm install xixilive/express-weapp-auth --save# via npmnpm install express-weapp-auth --save

Usage

// basic exampleimport {middleware} from 'express-weapp-auth'const app = require('express')()app.post( '/session/:code', middleware('appId', 'appSecret'), (req, res, next) => { const {openId, sessionKey, userInfo} = req.weappAuth //your logic here })// advance exampleapp.use( '/weapp/session/', middleware('appId', 'appSecret', (req) => { return req.body }, {dataKey: 'customDataKey'}), (req, res, next) => { const {openId, sessionKey, userInfo} = req.customDataKey //your logic here })

Middleware

// all argumentsmiddleware('appId', 'appSecret' [, paramsResolver, options])// without optional argumentsmiddleware('appId', 'appSecret')// without options argumentmiddleware('appId', 'appSecret' paramsResolver)// without paramsResolver argumentmiddleware('appId', 'appSecret' options)

Arguments

appId: required, weapp app ID appSecret: required, weapp app secret paramsResolver: optional, a function(req){} to resolve auth-params for request object options: optional, {dataKey: 'the key assign to req object to store decrypted data'}

ParamsResolver(req)

It will use a built-in default resolver to resolve params for request if there has no function passed to middleware function. and the default function resolves params in a certain priority:

req.body with the highest priority req.query with middle priority req.params with the lowest priority

And it expects the resolver function to return an object value with following structure:

{ code: 'login code', rawData: 'rawData', signature: 'signature for rawData', encryptedData: 'encrypted userInfo', iv: 'cipher/decipher vector'}

For more details about this, please visit 微信小程序 API

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于二进制文件的读写
下一篇:bash脚本中的单引号双引号与反引号
相关文章

 发表评论

暂时没有评论,来抢沙发吧~