我正在尝试从客户端javascript应用程序使用google身份验证的azure功能(nodejs)。我已经为正确的URL设置了CORS(即http://localhost:8080)。但我仍然收到以下错误:
凭据标志为“true”,但“Access-Control-Allow-Credentials” 标题是''。允许凭据必须为“true”。起源 因此,“http://localhost:8080”不允许访问。
我在互联网上到处试过,花了几天时间自己得到答案。 Azure http响应似乎需要在标头中添加此Access-Control-Allow-Credentials:true。有没有办法添加自定义标题?
非常感谢任何帮助。
答案 0 :(得分:3)
在Node函数中,您可以按如下方式指定其他标题:
module.exports = function (context, req) {
context.res = {
status: 200,
body: "Hello " + req.query.name,
headers: {
'Content-Type': 'text/plain',
'MyCustomHeader': 'Testing'
}
};
context.done();
}
答案 1 :(得分:2)
我终于成功解决了这个问题。诀窍是从Azure Functions应用程序中删除所有CORS条目,并直接在您的代码中处理它。
感谢另一个关于天蓝色应用服务的stackoverflow issue共享提示,该服务也适用于天蓝色功能。
有关解决方案的更多详情,请访问: