Я хочу создать пользователя в firebase, добавить профиль пользователя и установить свойство level на 5. Я хочу, чтобы никто, даже сам пользователь, не мог изменить уровень на другой номер. Только администратор может это сделать, поэтому я думаю об использовании $ authWithCustomToken();
Безопасно ли это использование секретного токена firebase на угловом?
Дело в том, что пользовательский токен никогда не использует секрет вашей firebase. У вас есть правило, запрещающее изменение свойства уровня, за исключением определенного пользовательского маркера.
При создании пользовательского токена вы можете добавить свои собственные данные (см. Здесь). В вашем случае вы можете добавить что-то вроде этого:
{ uid: "MyUniqueId", allowLevelChange: "OK"}
и проверить его в ваших правилах.
Разрешения данных в Firebase обрабатываются набором правил, которые применяются к аутентифицированным или анонимным пользователям, важно для определения всех правил для предотвращения нежелательного доступа. Например, вы можете определить, что пользователь может обновить свой собственный профиль.
Вы не должны ставить свой секрет нигде. Просто имейте хороший набор разрешений.
У них есть новая система для их определения под названием Bolt Compiler, которая значительно улучшила процесс.