問題是: 使用 auth 令牌從 Firebase 資料中讀/寫的模式是什么?
長式問題:我已經成功登錄了Firebase,并且我有一組回應該登錄的auth令牌資料。 我想,當我對Firebase檔案進行http.get()或http.patch()操作時,我需要將該令牌傳遞回來。 但是我還沒有弄清楚如何正確地做到這一點。
框架 ionic w/ angular
設定
我已經建立了一個Firebase資料集。 我已經建立了一個Firebase資料集,并且我已經設定了如下的訪問規則:設定
{
"rules": {
"任務-咖啡館" : {
".read": "auth != null"。
".寫": false
},
"問題" : {
".讀": "auth != null",
".寫": "auth != null"
}
}
}
當我向firebase發出一個auth請求時,我得到的一組用戶資料看起來是這樣的:
因此,現在當我從Firebase實時資料庫中讀/寫時,我認為我應該在html.get()或html.patch()陳述句中把其中的一個令牌作為JSON有效載荷的一部分傳回去。
關鍵問題 1:放置我從原始 auth 中獲得的令牌資料的正確語法是什么? 當我閱讀檔案時,我顯然應該在 http.get() 或 patch() 陳述句中送回一個 &auth='long-token-string"......但是我還沒有找到關于回傳哪個令牌以及關鍵字 auth 實際上是否是該字串的正確標識的檔案。
關鍵問題 2:顯然,發送 uid 是代替 auth 令牌的一個選項。 在我的應用程式中,我希望從匿名登錄開始,所以在第一次資料訪問時我將沒有一個 uid。 我是否遺漏了一個概念?
謝謝你的幫助。 Paul uj5u.com熱心網友回復: 你需要從客戶端檢索Firebase ID令牌,方法是按照檔案中描述的這里,即 然后,正如這里所解釋的,你將它作為一個查詢字串引數添加到url的末尾。
由于你沒有分享那么多的代碼,這里有一個使用axios庫的通用JS例子:Objects!
Object
accessToken: "eyJhbI-long string-ww3w"
expirationTime: 1631656873062
refreshToken: "ACzBnC another long string dUJHK-"
[[Prototype]]。物件
const getString='https://freelance-xxxx-default-tdb.firebaseio.com/xxxxxx.json';
return this.http.get<{ [key: string]: MyData }>(getString).pipe(...)
firebase.auth().currentUser.getIdToken(/* forceRefresh */ true)。const getString = 'https://freelance-xxxx-default-tdb.firebaseio.com/xxxxxx.json?auth=' idToken firebase // 在你的情況下使用this.fireAuth.signInAnonymously()
.auth()
.signInAnonymously()
.then((userCredential) => {
// 我們從userCredential獲得用戶。
// 但我們也可以用firebase.auth().currentUser來獲取用戶。
return userCredential.user.getIdToken(/* forceRefresh */ true)。
})
.then((idToken) => {
回傳axios.get(
'https://freelance-xxxx-default-tdb.firebaseio.com/xxxxxx.json?auth=' idToken
);
})
.then((response) => {
//處理成功
console.log(response)。
})
.catch((error) => {
//處理錯誤
console.log(error);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/308597.html
標籤:
上一篇:如何解決"ARenderFlex底部溢位77像素"的問題。
下一篇:<p>我正試圖創建一個Firebase云訊息網路應用,并使用最新的SDK。 然而,我不知道為什么,我的代碼不作業,我得到的錯誤,如。 "messaging.onMessage&q
