Я настроил проект Firebase, который использует базу данных Firestore. мне дали следующий фрагмент кода, чтобы использовать его в моем коде Javascript:
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
authDomain: "xxxxxxxxxx.firebaseapp.com",
databaseURL: "https://xxxxxxxxxxxxx.firebaseio.com",
projectId: "xxxxxxxx",
storageBucket: "xxxxxxxxx.appspot.com",
messagingSenderId: "xxxxxxxxx",
appId: "1:xxxxxxxxxxxxxxxxxxxxxxxxxxx"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
Все работало до этого момента. Затем мне нужно было убедиться, что только мой домен мог использовать приложение, настроив авторизованные домены в проекте firebase, а также в apiKey в меню «учетные данные» из проекта Google Cloud Platform.
Мой проект все еще работал до этого момента, но я заметил, что он все еще работал из любого домена. Таким образом, ограничение не работает. На самом деле, проведя дополнительное тестирование, я обнаружил, что apiKey даже не был необходим для работы моего проекта, и я могу сократить фрагмент до следующего, и все еще работает:
// Your web app's Firebase configuration
var firebaseConfig = {
projectId: "xxxxxxxx",
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
Поэтому мне интересно: как мой проект может запускаться и записываться в базу данных Firestore только с указанным идентификатором проекта? Мне дается куча информации во фрагменте, которая даже не нужна.
У кого-нибудь есть идея, почему это происходит со мной? Я попытался создать новый проект, следуя другим учебникам снова, с тем же результатом. На самом деле, одно из руководств, которые я использовал, имеет такое же поведение, как и проект этого руководства (он на самом деле онлайн), просто указав идентификатор проекта, и я могу заставить его квоту Firestoere исчерпать, рассылая его с моего локального сервера.
Я не могу найти информацию о подобном случае с моим. Пожалуйста, помогите.
PS: вот мои правила базы данных Firestore, если это имеет значение:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}