[英]How to keep a user logged in Flutter web app using Firebase Authentication
[英]How to find user is logged in or not from cloud function side using Firebase?
為了提供動態內容交付,我在 fire base 托管中使用 重寫。 每當打開帶有index.html
的網站時,瀏覽器都會請求 firebase cloud function main
。
"rewrites": [ {
"source": "/index.html",
"function":"main"
}]
現在我面臨着根據用戶登錄狀態提供動態內容的問題。 我還使用 JS 檢查了客戶端身份驗證。
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
} else {
// No user is signed in.
}
});
不知道web的發展。 在這里我有幾個問題,
如何以更靈活的方式查找用戶的身份驗證狀態? cookies 是否用於此? 我問是因為我不知道將 firebase firebase-token
傳遞給雲 function main
。
請告訴我一個想法。 謝謝你們。
簡短回答:最終用戶沒有在后端可見的登錄狀態。 這不是 Firebase 身份驗證的工作方式。
Auth 客戶端提供憑據以獲取令牌,該令牌用於在調用后端服務時識別自己。 此令牌的生命周期為 1 小時,客戶端必須刷新它才能繼續使用它。 您的后端不知道或不關心客戶端是否有授權令牌,他們是否使用它,或者他們是否刷新它。 客戶端只需要從他們登錄的任何設備提供該令牌,以便后端可以驗證它。 您的后端無法知道客戶端是否獲得了令牌 - 您只需要接受它提供的令牌即可。 這意味着您將不得不真正弄清楚如何傳遞該令牌並使用 Firebase Admin SDK 對其進行驗證,或者使用可調用類型 function 使用 Firebase 客戶端 SDK 自動發送該令牌。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.