2 回答

TA貢獻1842條經驗 獲得超22個贊
最近修復了有關 csrf 令牌的 403 的類似問題。在 get csrf 調用之后發生的每個發布請求都會生成一個新的 CSRF 令牌。
我發現這是一個 CORS 問題。我通過添加以下代碼來修復:
import cors from 'cors';
const allowedOrigins = ['http://localhost:3000', 'http://localhost'];
const corsoptions: cors.CorsOptions = {
allowedHeaders: ["Origin", "X-Requested-With", "Cookie", "Content-Type", "Accept", "X-Access-Token", "Authorization"],
credentials: true,
methods: "GET,PATCH,POST,DELETE",
origin: function (origin, callback) {
// allow requests with no origin
// (like mobile apps or curl requests)
if (!origin) return callback(null, true);
if (allowedOrigins.indexOf(origin) === -1) {
var msg = 'The CORS policy for this site does not ' +
'allow access from the specified Origin.';
return callback(new Error(msg), false);
}
return callback(null, true);
},
preflightContinue: false,
};
export const handleCors = (router: Router) =>
router.use(cors(corsoptions));
請參考 cors 包https://www.npmjs.com/package/cors"
添加回答
舉報