0

我正在創建一個Android本機應用程序,並且正在使用具有多個身份驗證提供的Firebase身份驗證,例如;電子郵件,Facebook,Google等,我將使用Firebase SDK進行聊天和實時數據庫。安全地將Android Firebase身份驗證用戶存儲在MySQL數據庫中

我有一個RESTful API與MySQL(類似於Facebook,朋友,​​私人和公共帖子),PHP服務器後面的用戶數據庫,我想同步Auth,以便我可以確保用戶是正確並有權訪問他們有權訪問的數據。我可以編輯和更改我的數據庫,這樣我就可以在此修改它。

(我本來以爲我可能需要類似的OAuth不過我不再覺得這是必要的)

經過大量的研究,我認爲我需要進行安全通信的用戶的電子郵件和火力地堡驗證令牌MySQL同時保持細節同步?看起來這將是相當普遍的事情,但我一直無法找到明確的答案。

(如果上述聲明是真實的)

我的問題是:

  • 是電子郵件和身份驗證令牌所有需要通過服務器
  • 如若驗證令牌身份驗證用戶使用PHP SDK發送到Firebase SDK
  • 如何在MySQL數據庫中將證書存儲在安全性方面
  • Auth令牌如何過期和/或成爲參考reshed
  • 信息如何從Android客戶端安全地發送到MySQL數據庫
  • 什麼是正確的步驟和策略更新身份驗證令牌
  • 什麼是驗證信息,如電子郵件地址正確的同步策略和客戶端和服務器
  • 之間令牌難道我甚至在正確的軌道:)

我是新來的最驗證的概念。

問候

回答

1
  1. 是電子郵件和身份驗證令牌所有需要通過AUTH服務器的用戶:你只需要驗證ID令牌。你可以從中得到電子郵件。每次發送到服務器時都需要驗證ID令牌。檢查https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_a_third-party_jwt_library

  2. 應該使用PHP SDK將驗證令牌發送到Firebase SDK:反過來。 ID令牌位於客戶端,您調用getIdToken,然後將其發送到您的後端服務器。

  3. 關於安全性,憑證應該如何存儲在MySQL DB中:您不需要在憑據中存儲憑證。您可以存儲會話信息,但憑據在客戶端上生成並刷新。

  4. Auth令牌如何過期和/或被刷新:調用user.getIdToken將始終返回新的令牌。如果令牌未過期,則返回緩存的令牌。如果過期,它將被刷新並返回新的。每次您通過身份驗證的用戶發送某個請求時,您都需要調用此方法。
  5. 信息如何從Android客戶端安全地發送到MySQL數據庫:您應該始終使用用戶的ID令牌發送它。確保你使用https協議。始終驗證服務器上的ID令牌。
  6. 什麼是更新驗證令牌正確的步驟和策略:使用user.getIdToken()
  7. 什麼是驗證信息,如電子郵件地址和客戶端和服務器之間的令牌的正確的同步策略:令牌不需要存儲在你的服務器上。您可以信任令牌中的電子郵件。用戶的電子郵件可能在客戶端更新。當發生這種情況時,令牌電子郵件也應該更新。
相關問題