Firebase Hosting - защита паролем сайта?

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

Мой вопрос, однако, в том, что я могу сделать доступ к веб-сайту ограниченным аутентификацией? Это админ-панель, с которой только моя команда должна иметь доступ. Есть ли способ защитить паролем или приватизировать мой сайт, размещенный на Firebase?

Спасибо!

Ответ 1

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

Ответ 2

Поздно вечером, но столкнулся с подобной проблемой, когда хотел создать панель мониторинга, доступную только пользователям нашего домена (но не желал управлять отдельными учетными записями).

Завершено использование стандартного потока авторизации Google, но ограничение доступа к данным через правила БД. Чтобы проверить, авторизован ли пользователь, мы пытаемся получить доступ к данным сразу после входа в систему (и до того, как мы сообщим пользователю). Если это не удается по причине авторизации, наш пользователь является аутсайдером.

Правило БД Firebase:

{
  "rules": {
    ".read": "auth.token.email_verified == true && auth.token.email.matches(/.*@ourdomain.org$/)",
    ".write": false
  }
}

см. https://firebase.google.com/docs/reference/security/database/

Примечание: это определенно стало проще благодаря тому, что наша организация запускает нашу почту через gsuite, однако вы можете легко определить более детальные правила, когда эта опция недоступна.

Ответ 3

Самым простым способом решения этой проблемы для меня было перенести мое приложение с Firebase на AWS Amplify. Это позволяет защитить приложение паролем. Под контролем доступа измените его с "Публичного просмотра" на "Ограниченный". Если вы ищете функцию, которая похожа, но, на мой взгляд, более надежна, чем аутентификация Firebase, то интегрируйте AWS cognito в свое приложение; С AWS Cognito вы можете предотвратить регистрацию новых пользователей и ограничить электронную почту новых пользователей определенными доменами, в том числе другими функциями.