Как обслуживать приложение Firebase для нескольких доменов, поддоменов или URL-путей - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь закрыть всю схему своей идеи, но я должен быть уверен, что Firebase покрывает мои потребности.

У меня есть 2 приложения:

  1. Клиент, который должен отображать статическую информацию в зависимости от факторов, которые я опишу ниже.Он имеет свою собственную систему маршрутизации SPA, но с предварительным рендерингом, чтобы быть оптимизированным для SEO.
  2. Бэк-офис (/ admin), чтобы позволить клиенту настраивать его информацию и параметры конфигурации.Это чистый SPA.

Каждый из них должен обслуживать различное содержимое в зависимости от домена / субдомена или пути к домену, который мы пытаемся достичь.Итак, мой желаемый случайный код:

  • Если у клиента нет веб-сайта, и я хочу обслуживать контент из моего приложения Firebase, я бы указал DNS домена или субдомена на добавление Firebaseнастраиваемый домен для моей учетной записи Firebase (платная услуга).

  • Если бы у клиента был веб-сайт, но он хотел обслуживать содержимое моего приложения только по URL-адресу, я бы перенаправил только этоПуть URL к моей учетной записи в Firebase, может быть через .httpaccess, как указано ниже:

    RewriteCond %{REQUEST_URI} ^/path-to-redirect$ [NC] RewriteRule ^(.*)$ https://appxxxx.firebase.com/clientId=yyyy [P]

Примечание 1: Самое главное не менять URL напусть пользователи работают так, как если бы они находились на одном веб-сайте / в веб-приложении.

Примечание 2. Мне интересно, что собственная система маршрутизации моих приложений может продолжать работать только после 1 перенаправления с пути к домену и далее.

Считаете ли вы это решение подходящим?Имеет Firebase надежную систему маршрутизации, позволяющую мне делать это, как я мог бы делать с конфигурацией Nginx, или с помощью сценария, развернутого в Firestorage, чтобы проверить, какой домен / поддомен / путь запрашивает информацию (которую следует использовать для фильтрации данных вбаза данных Firestore)?

Большое спасибо!

...