0

私はデータベースとしてMySQLを使用するPHPベースのアプリケーションを使用しています。私は現在、アプリケーションのユーザー用のリアルタイムメッセージングシステムを構築しようとしています。私はFirebaseがこれを構築するための非常に良い解決策であることを発見しました。しかし、私が計画しているアーキテクチャがアーキテクチャと互換性があるかどうかはわかりません。ドキュメンテーションを掘り下げても、本当に答えが得られませんでした。私は、ユーザーが再びチャットを使用するにはログインする必要はありませんPHPで認証し、FirebaseでJSとやりとりする

  1. ので、私は、サーバーを介して認証 (すなわち、PHPから)にしたい:

    私の疑問があります。

  2. 特に、直接接続だけでなく効率的でも、私のサーバで望ましくないオーバーヘッドを持ちたくないので、チャット/メッセージングをクライアントからFirebaseに直接送信したいと考えています。

  3. phpで認証して秘密鍵などを取得し、それを使ってJs経由で安全に接続できますか?

私が見つけたthis linkは、カスタム認証システムについて語っています。しかし、これが私が使用しなければならないものなのかどうかはわかりません。そして、もし解決策がスケーラブルであり、大丈夫ならば。

答えて

0
  1. Firebase Authは、localStorage/indexedDBを介してクライアント上でセッションを維持し、ホストされていないサーバを必要としないヘッドレスAPIです。したがって、サーバーを介してユーザーを認証する必要はありません。
  2. サーバーにトラフィックをルーティングすることなく、リアルタイムデータベースを使用してメッセージングアプリケーションをクライアント上に完全に構​​築することは間違いありません。次に、Firebaseで構築されたチャットアプリの例を示します。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 既存の認証システムがない場合は、クライアント側で認証を完全に実行できます。 Firebaseの上に構築された認証用のもう1つの良いライブラリはFirebaseUIです:https://github.com/firebase/firebaseui-web
関連する問題