簡體   English   中英

如何使用 Firebase 從雲 function 端查找用戶是否已登錄?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM