Как добавить настраиваемый заголовок http в ответ от функции Azure

Я пытаюсь использовать функцию azure (nodejs) с аутентификацией Google из клиентского приложения javascript. Я настроил CORS для правильного URL-адреса (т. Е. http://localhost:8080). Но я все еще получаю следующую ошибку:

Флаг учетных данных имеет значение «истина», но заголовок «Access-Control-Allow-Credentials» имеет значение «». Это должно быть «истина», чтобы разрешить учетные данные. Следовательно, к источнику 'http://localhost:8080' не разрешен доступ.

Я пробовал везде в Интернете и потратил несколько дней, чтобы сам получить ответы. Кажется, HTTP-ответ Azure должен добавить в заголовок Access-Control-Allow-Credentials: true. Есть ли способ добавить собственные заголовки?

Любая помощь будет оценена.


person Sofa Gum    schedule 29.08.2016    source источник
comment
Вы используете nodejs?   -  person Thomas    schedule 30.08.2016
comment
@Thomas, да, nodejs на стороне сервера и выборка javascript на стороне клиента.   -  person Sofa Gum    schedule 30.08.2016


Ответы (2)


В функции узла вы можете указать дополнительные заголовки следующим образом:

module.exports = function (context, req) {
    context.res = {
        status: 200,
        body: "Hello " + req.query.name,
        headers: {
            'Content-Type': 'text/plain',
            'MyCustomHeader': 'Testing'
        }
    };
    context.done();
}
person mathewc    schedule 31.08.2016
comment
Это может не помочь в этом случае, я думаю, что эта ошибка связана с preflight http OPTIONS, что означает, что ваша функция не будет вызываться. - person Satjinder Singh Bath; 31.08.2016
comment
Да, я получаю эту ошибку во время предполетной проверки, поэтому моя функция не работает. Этим занималась лазурная инфраструктура. Пожалуйста, помогите мне, ребята, я действительно застрял. - person Sofa Gum; 31.08.2016
comment
@SofaGum, как вы настраивали CORS? Из лазурного портала? - person Thomas; 31.08.2016
comment
это должно быть наверху !! - person Mehdi Benmoha; 04.06.2019

Мне наконец удалось обойти проблему. Уловка состоит в том, чтобы удалить все записи CORS из приложения «Функции Azure» и обработать их непосредственно в коде.

Благодаря подсказке, опубликованной в другом потоке стека проблема, касающаяся службы приложений Azure, которая также работала с функциями Azure.

Более подробную информацию об обходном решении можно найти по адресу:

проблема с github № 620

person Satjinder Singh Bath    schedule 01.09.2016
comment
Я не вижу желаемого поведения. Когда я удаляю все записи CORS в параметрах приложения, я могу успешно установить для заголовка Access-Control-Allow-Credentials значение true в моем коде функций Azure. Однако в этой ситуации заголовок Access-Control-Allow-Origin очищается. Если я вместо этого использую настройку CORS в настройках приложения, я могу правильно настроить Access-Control-Allow-Origin, но Access-Control-Allow-Credentials будет очищен. - person Doug; 24.01.2017