0

我有一個基於PHP的應用程序,它使用MySQL作爲數據庫。我目前正試圖爲應用程序中的用戶構建一個實時消息系統。我發現Firebase是構建此功能的非常好的解決方案。但是,我不確定我計劃的架構是否與正在規劃的架構兼容。通過文檔挖掘並沒有真正讓我得到答案。使用PHP進行身份驗證並與Firebase中的JS進行交互

我的疑惑是:

  1. 我不想讓用戶再次登錄使用聊天,所以我想 通過服務器認證(即從PHP)。

  2. 我希望進一步的聊天/消息從客戶端直接發送到Firebase,因爲我不希望在我的服務器上產生不必要的開銷,尤其是當直接連接不僅受支持而且還有效時。

  3. 我可以通過php進行身份驗證,並獲得一些祕密密鑰或東西,然後使用它通過Js安全連接?

我找到了this link這裏講的是定製認證系統。但我不確定,如果這是我必須使用的。如果您計劃的解決方案是可擴展的並且可以。

回答

0
  1. Firebase身份驗證通過localStorage/indexedDB在客戶端持久保留會話,並且是不需要託管服務器的無頭API。所以你不需要通過你的服務器來驗證用戶。
  2. 您可以完全在客戶端上使用實時數據庫構建消息應用程序,而無需將流量路由到服務器。這裏是火力地堡建造聊天應用的一個例子:https://github.com/firebase/friendlychat
  3. 如果你已經有一個現有的認證系統,你可以使用自定義身份驗證要求提供您的薄荷後您自定義的令牌身份驗證與您的系統的用戶,你再發該自定義令牌給客戶端,然後signInWithCustomToken。以下是使用PHP創建自定義令牌的一些代碼:https://firebase.google.com/docs/auth/admin/create-custom-tokens#create_custom_tokens_using_the_firebase_admin_sdk 如果您沒有現有的身份驗證系統,則可以在客戶端完全運行身份驗證。這是建立在火力地堡的頂部進行認證另一個好圖書館是FirebaseUI:https://github.com/firebase/firebaseui-web