首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用CookieSession安全选项?

如何使用CookieSession安全选项?
EN

Stack Overflow用户
提问于 2022-04-15 18:58:06
回答 1查看 205关注 0票数 0

我已经安装了一个名为cookie-session v2.0的NPM,我希望使用它将JWT传输到具有HTTPS协议的客户端浏览器。但是,当我想根据https://www.npmjs.com/package/cookie-session的文档将安全选项设置为true时,我会收到一个错误,该错误指示如下:

代码语言:javascript
复制
Argument of type '{ signed: false; secure: any; }' is not assignable to parameter of type '{ httpOnly?: boolean; keys?: any[]; name?: string; overwrite?: boolean; secret?: string; signed?: boolean; }'.
  Object literal may only specify known properties, but 'secure' does not exist in type '{ httpOnly?: boolean; keys?: any[]; name?: string; overwrite?: boolean; secret?: string; signed?: boolean; }'. Did you mean to write 'secret'?

如果我悬停在cookieSession上,我可以清楚地看到没有根据文档分配的这样的属性。

代码语言:javascript
复制
(alias) cookieSession(options?: {
    httpOnly?: boolean;
    keys?: any[];
    name?: string;
    overwrite?: boolean;
    secret?: string;
    signed?: boolean;
}): Function
import cookieSession

到目前为止,这是我在expressApp文件中的代码:

代码语言:javascript
复制
const express = require("express");
const cookieSession = require("cookie-session");
const cors = require("cors");
const { errorHandler } = require("./middleware");
const { NotFoundError } = require("./errors");

const routers = require("./routes");

const expressApp = function async(app) {
  app.set("trust proxy", true);
  app.use(express.json());
  app.use(
    cookieSession({
      signed: false,
    })
  );
  app.use(express.urlencoded({ extended: true, limit: "1mb" }));
  app.use(cors());

  app.use("/api/v1", routers);

  app.all("*", async (req, res) => {
    throw new NotFoundError();
  });

  app.use(errorHandler);
};

module.exports = expressApp;

如何解决此问题,以便将安全选项设置为true?

非常感谢您的进阶!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-15 19:48:38

根据您所链接的文档

Cookie选项-其他选项传递给cookies.get()cookies.set(),允许您控制安全、域、路径和签名等设置。

cookieSession中创建app.use时,不能将cookie设置为安全,但可以在设置或在路由中获取cookie时设置cookie。

cookies.set({ secure: true });

how to send secure cookie in expressjs上查看这个答案

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71887888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档