res.locals 可以被 api 调用者访问吗?

Can res.locals be accessed by the api caller?

目前正在开发一个应用程序,我在其中对中间件(将在路由中使用)中的用户进行身份验证和设置身份验证属性。这些身份验证属性存储在 res.locals.user.

我想知道 api 调用者是否可以在请求发回后访问并记录 res.locals 变量。从我读到的内容来看,情况似乎并非如此,但我想确定一下。

我看到的答案涉及 request/response 生命周期,因此也将不胜感激任何相关资源。

谢谢

res.locals.user 对于您的服务器是本地的,对于处理该特定请求的代码也是本地的。传入 http 请求的发送者无权访问该数据。

如果您想与传入的 http 请求的发送者共享其中的任何内容,那么您可以编写代码以将其中的内容包含在您作为 http 响应发回的响应中,或者如果您使用的是html 模板引擎,然后您可以对模板进行编码以包含 res.locals.user.

中您想要的任何内容

服务器端变量仅在服务器上可用,除非您的代码专门将它们发送回客户端。而且,reqres 对象中的内容仅在处理该特定请求时可用。请求处理结束并且处理请求的代码完成后,那些特定的 reqres 对象将被垃圾收集,其他请求无法访问它们。