如何在 Nest.js 中存储、读取和删除 cookie 和会话

东方不*_*方不败 10 javascript cookies js-cookie nestjs

如何存储、读取和删除cookies和sessions Nest.js

我应该使用这个:

@nestjs/common > session
Run Code Online (Sandbox Code Playgroud)

或者我应该使用js-cookie?

SoE*_*zPz 10

创建cookie

async myMethod(@Req() req, @Res() res) {
  res.cookie('session', myCookieData, myOptionalCookieOptions);
  ....
Run Code Online (Sandbox Code Playgroud)

读取cookie

async myMethod(@Req() req, @Res() res) {
  req.cookies['session']; // If unsigned cookie;
  req.signedCookies['session']; // If signed cookie;
Run Code Online (Sandbox Code Playgroud)

存储 Cookie

您可以将 cookie 存储在您喜欢的任何地方。但是,如果您使用它进行身份验证,请查看@nestjs/passport链接

删除cookie

async myMethod(@Req() req, @Res() res) {
  res.clearCookie('session', mySameOptionsFromCreationOfCookieMustMatch);
Run Code Online (Sandbox Code Playgroud)

注意: “仅当给定选项与 res.cookie() 的选项相同(不包括过期时间和 maxAge)时,Web 浏览器和其他兼容客户端才会清除 cookie。” 关联