如何使用fastify-cookies配置此服务器?

问题描述

我对Cookie完全陌生。 我现在正在尝试学习cookie。

在我的项目中,我正在使用fastify-jwt来为用户设置令牌。 现在,我正在尝试使用fastify-cookie

对于fastify-jwt,遵循他们的示例非常简单。

import * as fp from 'fastify-plugin';
    
export default fp(async (server,opts) => {
      server.register(fastifyJwt,{
        secret: config.get('app').secret,});
    
  server.decorate('authenticate',async (request,reply) => {
    try {
      await request.jwtVerify();
    } catch (err) {
      reply.send(err);
    }
  });
});

使用jwt

export default fp(async (server,opts,next) => {
  server.route({
    method: ['GET'],url: '/users/:id',logLevel: 'warn',preValidation: [server.authenticate],handler: async (request,reply) => {
      try {
        const user = await server.db.models.User.findOne({
          _id: request.params.id,}).lean();

        if (!user) {
          return reply.send(404);
        }

        // @ts-ignore
        if (request.user?.user?.id !== user._id.toString()) {
          reply.status(401);
          return reply.send({
            success: false,error: 'Invalid Login',message: 'Token is invalid',});
        }

        return reply.code(200).send(user);
      } catch (error) {
        request.log.error(error);
        return reply.send(400);
      }
    },});
}

这对我来说很好,但是为了固定cookie,我从一开始就遇到了错误 这是我的代码

server.register(require('fastify-cookie'),(err) => {
  if (err) throw err
})

server.decorate('authenticate',async ( request,reply ) => {
  const aCookieValue = request.headers.cookie.cookieName;
  try{
    reply.setCookie('foo','foo',{
      domain: "localhost:3000",// need to set all path
      path: '/'
    }).send({hello: 'world'})
  }catch(err){
    reply.send(err);
  }
})

如您所见,我正在尝试遵循fastify-cookie document,但无法正常工作。 我正在使用fastify v2。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...