2016-06-19 68 views
4

上下文的位,我嘗試使用Firebase進行身份驗證和數據存儲。由於我的應用程序處理潛在的敏感數據,因此Firebase提供的保密功能(所有Firebase通信均根據其博客通過HTTPS完成)似乎是保證我的數據安全的好方法。實際上,我使用Firebase時遇到的唯一問題是驗證時間比預期的要長。據我所知,它持續通過設備重置,應用程序重建和連接丟失。更糟糕的是,我不知道它持續多久。我嘗試過在線搜索,但無法找到任何信息。據我所知,它會持續一天左右,但這只是一個猜測。我正在使用電子郵件和密碼作爲登錄憑據。Firebase身份驗證持續時間太長

我的問題有兩個部分,有人知道Firebase身份驗證的默認持續時間,是否有人知道如何縮短它?否則,是否有任何其他類似於Firebase的服務可供您設置身份驗證持續時間?

如果我可以將持續時間縮短到4小時,Firebase將完美無缺,但其他方面我可能必須實施自己的身份驗證,因爲身份驗證只要Firebase太不安全即可。

+0

我想一個想法是抓住令牌firebase生成並設置超時。 –

+0

你可以通過.onDisconnect實現一個簡單的標誌嗎?即當用戶登錄時,設置火力點標誌; goodConnect = true。然後,當連接被您提到的其中一個問題中斷時,請將onDisconnect設置爲goodConnect = false。當用戶重新連接時,如果該標誌爲false,則取消它們並將它們發送回初始登錄屏幕? onDisconnect在服務器上運行,因此它可以獨立於您的應用程序。 – Jay

+0

我並不擔心失去與Firebase的連接,我自己實施了一些安全措施來處理該問題(應用程序需要某些功能才能脫機工作)。我擔心的是有人可以訪問物理設備(它是一部電話,我甚至不能確定它會有PIN碼),並且無條件地訪問用戶可以訪問的任何內容。超時想法有希望可以肯定工作,我沒有意識到你可以這樣做,它絕對不在我見過的任何firebase文檔中。 – Alex

回答

11

火力地堡認證(用於3.x或更高的SDK)使用兩個類型的令牌:

  1. 識別用戶的標記。當用戶使用該應用登錄並且不會過期時,會創建此令牌。要擺脫此令牌,請註銷用戶。

  2. 令牌,允許用戶訪問Firebase後端。此令牌基於以前的令牌,有效期爲一小時,並由Firebase SDK自動創建和刷新。

+0

非常感謝,這是我可以肯定的工作,我只是希望這些信息更容易找到。就像一個額外的,你知道它是否有可能提前安排註銷操作嗎?雖然我可能能夠使用斷開連接監聽器來簽署用戶,如果他們保持斷開連接一個小時,但目前我不知道如何實際執行它。 – Alex

+0

您好弗蘭克van puffelen,關於你的第二點我有一個問題,如果我想檢索數據或插入數據,那麼我需要使用訪問令牌?是的,那麼如何使用它? –

+0

@Alex類似代碼中的'setTimeout()'? –