У меня возникли проблемы при развертывании облачной функции Firebase. Пока что кода очень мало для простоты, это весь файл index.js
:
const functions = require('firebase-functions')
const express = require('express')
const cors = require('cors')
const app = express()
app.use(cors({origin: true}))
app.get(
"/test",
(req, res) => {
res.status(200).send({message: "Hello world!"})
}
)
exports.api = functions.https.onRequest(app)
После запуска npm run serve
и npm run deploy
я использую почтальон для проверки функции. Если я тестирую функцию из локальной системы, она работает нормально, но если я тестирую ту же самую развернутую функцию, я получаю запрещенную ошибку 403.
В документации ( здесь ) написано:
Внимание. Новые функции, вызываемые по HTTP и HTTP, развернутые с любым интерфейсом командной строки Firebase ниже версии 7.7.0, по умолчанию являются закрытыми и выдают ошибки HTTP 403 при вызове. Либо явным образом опубликуйте эти функции c, либо обновите CLI Firebase перед развертыванием каких-либо новых функций.
Но я использую версию инструментов Firebase:
$ firebase tools --version
8.2.0
Итак Я действительно не понимаю, что случилось! Как я могу это исправить?
РЕДАКТИРОВАТЬ: я добавляю URL, который я использую в Почтальоне:
Там нет специальных настроек или что-то в этом роде, я просто копирую URL, который npm run serve
и npm run deploy
возвращается как api url, я устанавливаю как метод "GET" и нажимаю кнопку отправить:
РЕДАКТИРОВАТЬ 2: работает npm run logs
показать только это:
2020-05-02T19:47:51.489Z I :
2020-05-02T19:47:57.764Z I :
2020-05-02T19:47:59.869Z N test:
2020-05-02T19:49:08.122Z N test:
2020-05-02T20:01:51.080Z I :
2020-05-02T20:01:51.493Z I :
2020-05-02T20:01:53.614Z N test:
2020-05-02T20:02:39.239Z N test:
2020-05-02T20:19:54.468Z I :
2020-05-02T20:19:54.922Z I :
2020-05-02T20:20:39.288Z N api:
2020-05-02T20:20:39.314Z N test:
2020-05-02T20:20:42.556Z N test:
2020-05-02T20:21:30.541Z N api:
2020-05-02T20:29:33.576Z I :
2020-05-02T20:29:33.838Z I :
2020-05-02T20:29:35.333Z N api:
2020-05-02T20:30:29.021Z N api:
2020-05-02T20:37:34.864Z I :
2020-05-02T20:37:35.175Z I :
2020-05-02T20:37:36.833Z N api:
2020-05-02T20:38:17.906Z N api:
И журналы с консоли Firebase показывают это:
{"@type":"type.googleapis.com/google.cloud.audit.AuditLog","status":{},"authenticationInfo":{"principalEmail":"projectOwnerEmail.com"},"serviceName":"cloudfunctions.googleapis.com","methodName":"google.cloud.functions.v1.CloudFunctionsService.UpdateFunction","resourceName":"projects/PROJECT_NAME/locations/us-central1/functions/api"}