Безопасность Firebase - разрешение пользователя и администратора

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

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

ОБНОВИТЬ

Генерация токенов

var tokenGenerator = new FirebaseTokenGenerator(authSecret);
var token = tokenGenerator.createToken({admin: true});

Правило безопасности

".read": "auth.admin == true || otherauthmthod"

person Tom Maton    schedule 22.04.2014    source источник


Ответы (1)


Метод, который вы описали выше, будет работать, если вы обновите свои правила безопасности, чтобы найти бит auth.admin. В качестве альтернативы, что, вероятно, немного проще, является создание токена admin, который позволит вам полностью пропустить выполнение правил безопасности. Это можно сделать с помощью:

var token = tokenGenerator.createToken({ any: "data" }, { admin: true });

См. https://github.com/firebase/firebase-token-generator-node подробнее.

person Rob DiMarco    schedule 23.04.2014
comment
спасибо Роб, просто следующий набор вопросов по tokenGenerator: 1. Могу ли я сгенерировать токен на уже существующем uid, просто для того, чтобы добавить опцию {admin: true} к uid, уже созданному через email / пароль auth ? - person dpg5000; 04.03.2016
comment
@ dpg5000 Конечно, ты справишься. - person Rob DiMarco; 07.03.2016