2016-10-22 3 views
2

Я создаю приложение в javascript, используя реакцию + redux, которая разговаривает с firebase. Различные пользователи с разными разрешениями (на основе ролей пользователей) будут использовать это приложение, поэтому я хотел бы отображать разные компоненты в зависимости от разрешений пользователя.Получение прав пользователя для данной базы данных ref, а не самих данных?

Теперь, поскольку у меня уже есть все разрешения как правила в firebase, я не хочу дублировать эти данные и на клиенте. Я бы предпочел попросить firebase, что может и не может сделать текущий входной пользователь.

Это кажется невозможным сделать в firebase. То, что я хотел бы быть в состоянии сделать что-то вроде этого:

var canReadBars = firebase.database().ref('foo/bar').hasPermission('read'); 
if (canReadBars){ 
    // render the component 
} 

A (довольно уродливый) обходной путь, чтобы просто выбрать данным себя и определить, что для визуализации на основе получу ли я PERMISSION_DENIED или нет, но что на самом деле не работает для записи.

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

ответ

1

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

Клиент не может получить список разрешений, которые он имеет в базе данных. Также нет способа предоставить удобные сообщения об ошибках.

+0

Спасибо за ответ! Но я не ищу ни одной из этих вещей. Мне просто нужна firebase, чтобы рассказать мне, могу ли я писать/читать на определенном пути. Мне не нужен список разрешений или какое-то сообщение об ошибке, достаточно простое или ложное. – Johanh

+0

Для этого нет API. –

+0

Хорошо, но есть ли планы реализовать такую ​​функцию? Если нет, есть ли другие способы обхода? Я предполагаю, что это было бы очень полезно для других разработчиков. – Johanh