Typescript express sessions cookie同一站点类型脚本错误
我当前在尝试将我的express会话配置定义为sameSite时遇到一个typescript错误:“无”。我目前正在使用@types/express session:1.17.3,并且尝试使用旧版本也未成功 文档表明我所做的是正确的,但是类型定义有些错误 在express会话的index.d.ts中,它表明我可以这样使用它,但我得到了一个编译器错误 快速会议的索引d.tsTypescript express sessions cookie同一站点类型脚本错误,typescript,express,session,cookies,samesite,Typescript,Express,Session,Cookies,Samesite,我当前在尝试将我的express会话配置定义为sameSite时遇到一个typescript错误:“无”。我目前正在使用@types/express session:1.17.3,并且尝试使用旧版本也未成功 文档表明我所做的是正确的,但是类型定义有些错误 在express会话的index.d.ts中,它表明我可以这样使用它,但我得到了一个编译器错误 快速会议的索引d.ts class Cookie implements CookieOptions { /** Returns t
class Cookie implements CookieOptions {
/** Returns the original `maxAge` (time-to-live), in milliseconds, of the session cookie. */
originalMaxAge: number;
maxAge?: number;
signed?: boolean;
expires?: Date;
httpOnly?: boolean;
path?: string;
domain?: string;
secure?: boolean | 'auto';
sameSite?: boolean | 'lax' | 'strict' | 'none';
}
我的会话配置:
const sessionConfig = {
secret: config.sessionSecret || '',
resave: false,
saveUninitialized: true,
cookie: {
secure: false, // if set to true tests won't work
maxAge: 10 * 60 * 1000 * 100000,
sameSite: 'none',
},
};
if (app.get('env') === 'production') {
app.set('trust proxy', 1); // trust first proxy
sessionConfig.cookie.secure = true; // serve secure cookies
}
app.use(cookieParser());
app.use(
cors({
origin: config.clientUrl,
methods: ['POST', 'PUT', 'GET', 'OPTIONS', 'HEAD'],
credentials: true,
}),
);
app.use(session(sessionConfig));
类型脚本错误:
src/loaders/middleware.ts:35:19 - error TS2345: Argument of type '{ secret: string; resave: boolean; saveUninitialized: boolean; cookie: { secure: boolean; maxAge: number; sameSite: string; }; }' is not assignable to parameter of type 'SessionOptions'.
The types of 'cookie.sameSite' are incompatible between these types.
Type 'string' is not assignable to type 'boolean | "none" | "lax" | "strict" | undefined'.