Я начинаю изучать, как использовать firebase в своем приложении. Я следую инструкциям на угловом веб-сайте и устанавливаю фрагмент в index.html следующим образом:
<!-- The codes to add firebase -->
<script src="https://www.gstatic.com/firebasejs/3.2.0/firebase.js"></script>
<!-- The core firebase client (required) -->
<script src="https://www.gstatic.com/firebasejs/3.1.0/firebase-app.js"></script>
<!-- firebase-auth - Firebase Authentication (optional) -->
<script src="https://www.gstatic.com/firebasejs/3.1.0/firebase-auth.js"></script>
<!-- firebase-database - The Firebase Realtime Database (optional) -->
<script src="https://www.gstatic.com/firebasejs/3.1.0/firebase-database.js"></script>
<script>
var config = {
apiKey: ...,
authDomain: ...,
databaseURL: "https://...",
storageBucket: "...",
};
firebase.initializeApp(config);
</script>
И затем я пытаюсь использовать HTTP-запрос для размещения таких данных, как:
submitForm(personalInfo: PersonalInfo, educationsInfo: Education[], experiencesInfo: Experience[]): Observable<string>{
let body = JSON.stringify({personalInfo, educationsInfo, experiencesInfo});
let headers = new Headers({'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers});
console.log(body);
let url = this.firebaseUrl + 'apply-form.json';
return this.http.put(url, body)
.map((response) => {
return response;
})
.catch(this.handleError);
}
Однако, я получил следующую ошибку:
PUT https://XXX.firebaseio.com/apply-form.json 401 (Unauthorized)
Я не знаю, в чем проблема. Я новичок в использовании firebase и действительно нуждаюсь в ком-то, чтобы помочь мне. Спасибо!
База данных Firebase по умолчанию доступна только для зарегистрированных пользователей. См. Предупреждение в первом синем поле на странице о сохранении данных в базе данных.
Чтобы обойти это, вы можете, конечно, настроить правила безопасности своей базы данных, чтобы разрешить публичный доступ. Но пока это нормально в процессе разработки, это плохая идея, так как вы получаете готовое приложение для выпуска другим людям.
Правильный способ безопасного хранения данных - это потребовать от пользователя входа в систему с помощью Firebase Authentication, а затем использовать эту информацию, чтобы обеспечить доступ только к данным, к которым они имеют право. Используя HTTP для доступа к базе данных Firebase, вы сделали это более сложным для себя, чем нужно. Я рекомендую использовать Firebase JavaScript SDK для аутентификации и доступа к базе данных.