получение ошибки: у вашего клиента нет разрешения на получение URL-адреса в функциях firebase - PullRequest
0 голосов
/ 07 мая 2020

Я новичок в firebase, у меня развернута одна функция, и она использует метод get,

https://us-central******.cloudfunctions.net/addMessage

, когда я пытаюсь запустить этот API, я получаю ошибку ниже

Error: Forbidden
Your client does not have permission to get URL /addMessage from this server.

Может ли кто-нибудь помочь мне решить эту проблему?

exports.addMessage = functions.https.onRequest(async (req, res) => {
    // Grab the text parameter.
    const original = req.query.text;
    // Push the new message into the Realtime Database using the Firebase Admin SDK.
    const snapshot = await admin.database().ref('/messages').push({ original: original });
    // Redirect with 303 SEE OTHER to the URL of the pushed object in the Firebase console.
    res.redirect(303, snapshot.ref.toString());
});

1 Ответ

0 голосов
/ 13 мая 2020

Из do c, аргумент --allow-unauthenticated:

Указывает, что функция не требует аутентификации для вызова. По умолчанию функции HTTP требуют аутентификации. Если вы не включите этот флаг при первом развертывании функции HTTP, вам будет предложено разрешить неаутентифицированные вызовы. Вам не будет предлагаться при последующих вызовах.

Итак, вам необходимо развернуть облачные функции с этим аргументом, если вам не нужна аутентификация. Например,

Простая облачная функция, index.js:

exports.helloHttp = (req, res) => {
  res.send(`Hello ${req.body.name || 'World'}!`);
};

Развертывание без --allow-unauthenticated:

gcloud beta functions deploy helloHttp --trigger-http --runtime nodejs10

При доступе к конечной точке этой облачной функции: https://us-central1-xxxx-218801.cloudfunctions.net/helloHttp. Вы получите эту 403 Forbidden ошибку:

Ошибка: запрещено У вашего клиента нет разрешения на получение URL / helloHttp с этого сервера.

Развернуть с --allow-unauthenticated:

gcloud beta functions deploy helloHttp --trigger-http --runtime nodejs10 --allow-unauthenticated

Вы получите доступ к конечной точке без аутентификации.

Hello World!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...