mysql — аутентификация с PHP и взаимодействие с JS в Firebase

У меня есть приложение на основе PHP, которое использует MySQL в качестве базы данных. В настоящее время я пытаюсь создать систему обмена сообщениями в реальном времени для пользователей приложения. Я нашел Firebase, чтобы быть очень хорошим решением для построения этого. Однако я не уверен, совместима ли планируемая мной архитектура с планируемой архитектурой. Копание документации не дало мне ответов.

Мои сомнения:

  1. Я не хочу, чтобы пользователи снова входили в систему, чтобы использовать чат, поэтому я хочу
    аутентифицируется через сервер (т.е. из php).

  2. Я хочу, чтобы дальнейший чат / обмен сообщениями происходил непосредственно от клиента к Firebase, поскольку я не хочу, чтобы на моем сервере возникали нежелательные накладные расходы, особенно когда прямое соединение не только поддерживается, но и эффективно.

  3. Могу ли я пройти аутентификацию через php и получить какой-нибудь секретный ключ или что-то еще, а затем использовать его для безопасного соединения через Js?

я нашел эта ссылка который говорит о кастомной системе аутентификации. Но я не уверен, если это то, что я должен использовать. И если решение я планирую масштабируемым и хорошо.

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, — это FirebaseUI: https://github.com/firebase/firebaseui-web
0

Другие решения

Других решений пока нет …