В настоящее время я смотрю FireBase и использую плагин AngularJS, и нашел следующую проблему, из которой я не могу избавиться.
В настоящее время я реализовал простую систему входа. Вы вошли в систему с моей почтой и паролем после регистрации, я создаю сообщение вроде этого:
post = {
name: "Hi",
message: "Guys",
user_id: Auth.user.id // for my current user this is 1
}
posts.$add(post)
С этого момента все в порядке. Теперь то, что я хотел сделать, это то, что в столбцах/конечных точках на firebase я хочу показывать только сообщения пользователя, который в настоящее время вошел в систему.
Другие пользователи могут читать сообщения других, имея общедоступную логическую переменную (но для более поздней)
Я смотрю API безопасности Firebase (см.: https://www.firebase.com/docs/security/security-rules.html) В настоящее время у меня есть это:
{
"rules": {
"posts": {
"$post": {
".read": "data.child('user_id').val() == auth.id",
".write": "(data.child('user_id').val() == auth.id) || (newData.child('user_id').val() == auth.id)"
}
}
}
}
Он работает в определенной степени, я могу писать сообщения только в том случае, если я вошел в систему, но я не могу читать какие-либо сообщения!
posts = new Firebase(base + '/posts')
posts = $firebase(posts)
Ошибка: FIREBASE WARNING: on() или один раз() для/сообщений не удалось: Ошибка: permission_denied: у клиента нет разрешения на доступ к требуемым данным.
Если у кого-то есть решение, это будет потрясающе!