У меня есть функции Firebase, бэкэнд rest api и пользовательский домен, на который указывает хостинг Firebase, поэтому я не привязываюсь к домену, предоставленному Firebase.
В этот момент я могу достичь своего бэкэнда за 3 URL.
https://us-central1-my-project.cloudfunctions.net/app
- URL-адрес по умолчанию, предоставляемый firebase для непосредственного вызова функции.
https://my-project.firebaseapp.com/api
- хостинг по умолчанию, предоставляемый Firebase, переписывающий источник /api
в функцию app
.
https://my-custom-domain.com/api
- Мой пользовательский домен настроен в Firebase, переписав источник /api
в функцию app
.
Теперь я могу получить доступ к своему бэкэнду по любому из них, за одним исключением.
Я добавил требование аутентификации в свои функции на основе https://github.com/firebase/functions-samples/tree/master/authorized-https-endpoint
Например, мой клиент отправляет Authorization: Bearer IdToken
, затем промежуточное ПО Express считывает его и проверяет его с помощью Firebase Auth.
Моя проблема в том, что заголовок Authorization
не присутствует в запросе, когда клиент обращается к бэкэнду через 3-й URL. 1-й и 2-й работают просто отлично.
Кто-нибудь знает, что мне нужно настроить, чтобы заголовок пересылался правильно?
Спасибо
P.S .: Это моя конфигурация хостинга:
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "/api/**",
"function": "app"
}
]
}
}