Итак, я ищу, чтобы хранить некоторую пользовательскую информацию в базе данных Firebase в реальном времени при создании учетной записи пользователя, но это не должно быть доступно для записи пользователем позже, и я не могу понять, как мне следует делая это. Из того, что я понимаю, когда создается учетная запись, все данные, помимо входа в определенные данные (вход в facebook, логин google, адрес электронной почты/пароль), хранятся «пользователем» в том смысле, что они записываются только в те места, где пользователь имеет доступ к записи в ,Как добавить данные пользователя при создании учетной записи, которые не могут быть отредактированы пользователем?
Что я хочу сделать, это написать дополнительные данные о создании учетной записи, которые не могут быть впоследствии изменены пользователем, но, похоже, единственный способ записать эти данные в первую очередь для того, чтобы пользователь мог напишите на него доступ. Как я могу писать данные один раз при создании учетной записи, которые не могут быть позже записаны пользователем?
Пример:
Скажите, что я пытаюсь сохранить номер телефона с учетной записью, и мои правила безопасности выглядеть следующим образом:
"rules":{
".read":false,
".write":false,
"users":{
"$user_id":{
".read": true,
"writeable_data":{ //written to on account creation, can be changed later by user
".write": "auth.uid === $user_id",
"name": {".validate":true}
},
"unchanging_data":{ //written to on account creation, shouldn't be later changed
"phone_number": {".validate":"newData.isNumber() && newData.val().length() == 10"}
}
}
}
}
Как я могу сделать так, что поле phone_number является написанный на момент создания учетной записи (предположим, что он указан из любой веб-формы, которую они заполняют или что-то подобное), но затем не может быть снова отредактирован пользователем? Есть ли способ, которым это можно сделать с правилами безопасности базы данных Firebase или мне нужно сделать вызов на какой-то отдельный сервер с доступом администратора и который подтверждает данные и записывает?
Отлично! Именно то, что я искал. Странно, что мне было так трудно найти его. Благодаря! – aknuck