2016-07-23 189 views
0

我開始學習如何在我的應用中使用Firebase。我按照角網站的指令,並設置片段像中的index.html:HTTP請求:PUT 401(未授權)

<!-- 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的新人,真的需要有人來幫助我。謝謝!

回答

1

您的Firebase數據庫默認情況下只能由經過身份驗證的用戶寫入。請參閱saving data to the database頁面上第一個藍色框中的警告。

要解決此問題,您當然可以使用configure the security rules of your database to allow public access。但是,雖然在開發過程中這通常很好,但當您的應用程序準備好發佈給除您自己以外的人員時,這是一個糟糕的主意。

安全發佈數據的正確方法是要求用戶登錄sign in with Firebase Authentication,然後使用該信息確保他們只能訪問他們授權的數據。通過使用HTTP訪問Firebase數據庫,您已經使自己比需要的更加困難。我建議您爲authentication和訪問database使用Firebase JavaScript SDK。

+0

謝謝你的迴應。我認爲這可能是權威問題,但我沒有如何解決它。它在我更改安全規則後生效。但我會聽取您的建議,嘗試使用Firebase SDK。非常感謝 :) – gogopower

相關問題