Как ограничить пользователей для чтения / записи данных на основе номера телефона в правилах Firebase - PullRequest
0 голосов
/ 12 ноября 2018

В настоящее время я реализовал структуру папок проекта, аналогичную приведенной ниже

Структура папок проекта

Я добавил аутентификацию телефона в свой код.

Теперь с помощью правил Firebase я бы хотел ограничить доступ моих детей к ребенку (номер телефона 1) на основе аутентифицированного номера телефона.

Например, если я войду в систему с номером телефона «9999999999», то я бы хотел ограничить доступ пользователя только к дочернему элементу «9999999999» в правилах Firebase.

Не могли бы вы предложить мне здесь улучшить безопасность здесь.

1 Ответ

0 голосов
/ 12 ноября 2018

Вы можете получить доступ к номеру телефона из объекта аутентификации пользователей , поэтому с его помощью вы можете ограничить правила безопасности. Ниже приведены примеры в Firestore, RTDB и Storage

Firestore

match /databases/{database}/documents {
    match /users/{phoneNumber} {
      allow read, write: if request.auth.token.phone_number == phoneNumber;
    }
}

База данных в реальном времени

{
    "rules" : {
        "users" : {
            "$phoneNumber" : {
                ".read" : "request.auth.token.phone_number == $phoneNumber",
                ".write" : "request.auth.token.phone_number == $phoneNumber"
            }
        }
    }
}

Хранение

service firebase.storage {
    match /b/{bucket}/o {
        match /users/{phoneNumber} {
            allow read, write: if request.auth.token.phone_number == phoneNumber;
        }
    }
}
...