我得到了一个在NestJs中完美运行的后端。
现在我需要使用cookie添加一些功能。所以我已经安装了cookie-parser,用import * as cookieParser from 'cookie-parser'
将其导入到主文件中,并使用app.use(cookieParser())
将其放入应用程序中。
在控制器中,我从express中导入了Request和Response:import { Request, Response } from 'express';
端点如下所示:
@Get('/refresh')
async refreshToken(
@Res({ passthrough: true }) response: Response,
@Req() request: Request)
{
const {refreshToken} = request.cookies // refreshToken is [Object: null prototype] {}
const userData = await this.authService.refresh(refreshToken)
response.cookie('refreshToken', userData.refreshToken, {maxAge: 30 * 24 * 60 * 60 * 1000, httpOnly: true, secure: true})
return userData
}
我可以把cookie响应,但问题是请求中根本没有cookie -它显示[Object: null prototype] {}
我遵循官方设置https://docs.nestjs.com/techniques/cookies
任何建议都非常感谢!
问题在CORS
我有这个app.enableCors()
,但在我添加了cors在应用程序创建像这样(凭据:true),一切工作正常:
const app = await NestFactory.create(AppModule, { cors: {credentials: true, origin: process.env.CLIENT_URL} })