Fastifyjs配置ContentType接收buffer配置JWT

31次阅读

共计 571 个字符,预计需要花费 2 分钟才能阅读完成。

最近在开发一个类 unPKG 的一个代码库,选择了 Fastify.js 的框架,这个框架相对 express.js 比较小众,在配置 Content-Type 的时候,总是获取不到 buffer 二进制流。

// 增加 Content-type 解析器 - 增加对 buffer 的支持
fastify.addContentTypeParser('*', { parseAs: 'buffer'}, function(
  req,
  body,
  done
) {done(null, body)
})

还有一个配置 JWT

配置 secret

// 配置 jwt
fastify.register(jwt, {secret: 'test'})

获取 Token

// 监听 - 注册 token
fastify.post('/sign', async (request, reply) => {const token = await reply.jwtSign(request.body)

  reply.send({token: token})
})

解密 Token

拦截所有的 onRequest 的生命周期,每次在获取请求的时候进行解密。然后返回给监听

fastify.addHook('onRequest', async (request, reply) => {
  try {await request.jwtVerify()
  } catch (err) {reply.send(err)
  }
})

正文完
 0