# #firebase #google-cloud-firestore #firebase-authentication #firebase-security
Вопрос:
У меня есть некоторые данные JSON в Firebase Firestore. JSON в этих данных используется как внешним интерфейсом (React), так и внутренним (Node.js) моего заявления. Но некоторые поля в сохраненных данных должны быть закрытыми и недоступными для пользователей веб-сайта, но все равно должны быть доступны в бэкэнде.
Сохраненные данные аналогичны этому:
school/school_id/class/student_id = {
"id": 123,
"name": "rahul",
"roll": "1234",
"privateKey": "345"
}
Для интерфейса требуется все, кроме закрытого ключа, а для бэкенда требуется все. Если я передам все данные интерфейсу, любой пользователь сможет получить доступ к privateKey
ним при посещении веб-сайта.
Что я должен сделать, чтобы закрытый ключ в JSON был недоступен/виден интерфейсу?
Что я пробовал до сих пор?
До сих пор я ничего не пробовал сказать, но я прочитал документацию по правилам безопасности, а также документацию по переключению видимости поля json. Но я не думаю, что ни один из них не решит эту проблему. Я также думал удалить личное поле из json и сохранить его каким-либо другим способом, а затем получить к нему доступ, но этот способ не совсем правильный, и я не хочу переходить к этому варианту!
Комментарии:
1. Вам необходимо настроить правила безопасности: firebase.google.com/docs/firestore/security/get-started
2. Правила, которые вам нужны, будут соответствовать вашим конкретным случаям использования. В вашем вопросе недостаточно информации, чтобы знать, что вам нужно. Вам нужно будет узнать о правилах и о том, что они могут сделать, и сопоставить это с вашими вариантами использования.
3. Если письменная документация-это не ваше дело, YouTube Firebase и некоторые каналы сообщества, такие как Fireship, довольно хорошо освещают эту тему.
4. Хотя ваше новое редактирование добилось некоторого прогресса в правильном направлении, вы все еще не рассмотрели то, что вы пробовали до сих пор, что не работает, или какие стратегии аутентификации вы используете (только учащиеся видят свои данные? только учителя могут это видеть? и т.д.). Как только у вас появятся ответы на эти вопросы, ознакомьтесь с приведенной выше документацией, а затем, если вы все еще застряли, вернитесь сюда.
5. Личные данные должны быть доступны только владельцу/администратору .