Sofa Gum
Sofa Gum

Reputation: 103

How to add custom http header in response from Azure function

I am trying azure function (nodejs) with google authentication from a client side javascript app. I have set up CORS for the correct URL(i.e. http://localhost:8080). But I am still getting the following error:

Credentials flag is 'true', but the 'Access-Control-Allow-Credentials' header is ''. It must be 'true' to allow credentials. Origin 'http://localhost:8080' is therefore not allowed access.

I have tried everywhere on the internet and spent few days to get the answers myself. It seems Azure http response needs to add this Access-Control-Allow-Credentials:true in the header. Is there a way to add custom headers?

Any help will be greatly appreciated.

Upvotes: 8

Views: 11701

Answers (2)

Satjinder Singh Bath
Satjinder Singh Bath

Reputation: 170

I have finally managed to get around the issue. The trick is to remove all the CORS entries from Azure Functions app and handle it directly in your code.

Thanks to the tip shared in another stackoverflow issue regarding azure app service, which worked for azure functions as well.

More details regarding the work around are at:

github issue #620

Upvotes: 2

mathewc
mathewc

Reputation: 13558

In a Node function you can specify additional headers as follows:

module.exports = function (context, req) {
    context.res = {
        status: 200,
        body: "Hello " + req.query.name,
        headers: {
            'Content-Type': 'text/plain',
            'MyCustomHeader': 'Testing'
        }
    };
    context.done();
}

Upvotes: 12

Related Questions