我尝试将我的 Express 服务器代码从 js 迁移到 typescript,并在尝试访问我在自己的中间件函数中添加到请求对象中的字段时遇到了问题。
例如,我正在做这样的事情:
app.use((req, res, next) => {
let account = checkAuthentication(req);
if(account) {
req.authenticated = true;
req.account = account;
next();
}
});
Run Code Online (Sandbox Code Playgroud)
现在我想稍后在其他中间件函数中访问这些属性,但是 @types/express 中的 .d.ts 文件当然以相同的方式为所有中间件函数定义了 req 对象。
现在我想出了两种方法来处理这个问题,但这两种方法似乎都很糟糕:
所以我的问题是:在这种情况下,如果有的话,我可以如何利用类型检查?如果我不能,这是否意味着像express这样的框架在静态类型语言(如C#)中是不可能的?
如果我理解cookie签名正确,那么它的作用是:设置cookie时用秘密签名。使用相同的秘密对cookie进行签名,以确认接收它时未更改它。
现在,在expressjs中,res.cookie()可以设置cookie,并且需要使用“签名”布尔值来设置cookie是否应该签名。
现在,用于签名的秘密是什么?我认为它可能使用了提供给的机密cookieParser(),但实际上在文档中的任何地方都没有明确提及。
所以我的问题本质上是:如何设置用于在expressjs中演唱Cookie的秘密?
我确实阅读了快速文档,并在google和stackoverflow中搜索了答案,如果我遗漏了一些明显的内容,对不起。