nestjs 中的 Cors 错误。它不适用于凭据

Cors error in nestjs. it is not working withCredentials

我在 API 中使用 "{withCredentials:true}" 时出现以下错误。如果我不使用它,那么它就不起作用。

const submit = async(e:SyntheticEvent) =>{
    e.preventDefault();
    await axios.post('http://localhost:8000/api/login',{
        email,
        password
    });
}

以上内容运行正常。当我使用 {withCredentials:true} 时,它给出 cors() 错误。

const submit = async(e:SyntheticEvent) =>{
    e.preventDefault();
    await axios.post('http://localhost:8000/api/login',{
        email,
        password
    },{withCredentials:true}); 
    setRedirect(true);

}

main.ts 文件中我有以下配置。

  const options = {
    origin: '*',
    methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
    preflightContinue: false,
    credentials: true,
  };
  app.enableCors(options);

即使我尝试了 credentials: false, 仍然无法正常工作。

我必须使用 {withCredentials:true} 才能获得 jwt tokens 的授权。

试试这个。

  const options = {
    origin: true,
    methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
    preflightContinue: false,
    credentials: true,
    allowedHeaders: 'Content-Type, Accept',
  };
  app.enableCors(options);