我正在尝试编写一个 Azure 函数,它将在用户的浏览器中设置一个 HttpOnly cookie,但它不起作用。在 Postman 中,我可以在响应中看到 Set-Cookie 标头,但是在浏览器中测试该功能时省略了此标头。
以下是返回给浏览器的标头:
headers: {content-length: "13", content-type: "text/html; charset=utf-8"}
这是我的代码:
Azure 函数代码
module.exports = function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
context.res = {
status: 200,
headers: {
"Content-Type": "text/html",
"Set-Cookie": "a=b; httpOnly",
},
body:
'Body Response'
};
context.done();
}
节点代码
const createCookieAzure = () => {
return new Promise((resolve, reject) => {
console.log("Inside create cookie promise");
axios({
url: 'http://localhost:7071/api/SetHttpOnlyCookie',
method: 'GET',
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
});
})
}
const createHttpOnlyCookie = async (e) => {
e.preventDefault();
console.log("Button clicked");
await createCookieAzure();
console.log("After createcookie");
}
在上面的代码中 createHttpOnlyCookie() 是由一个按钮组件的 onClick 触发的。