Firebase: как проверить сеанс на стороне клиента с помощью PHP-скрипта на стороне сервера

Я аутентифицирую клиентскую часть через Firebase SDK пользователей моего приложения.
Затем начинается сеанс клиента. Я хочу, чтобы пользователь мог публиковать на конечных точках PHP некоторые данные. Я хочу, чтобы PHP-скрипт проверял, поступает ли запрос от аутентифицированного пользователя, а затем проверяет остальные данные. Если все в порядке, мы завершаем операцию.

Я думал сделать это так:

  • Пользователь аутентифицирован на стороне клиента
  • При событии Auth запрос на токен JWT с идентификатором пользователя передается на стороне клиента через ajax для выделенного сценария PHP. После того как токен сгенерирован, он сохраняется в файле cookie сеанса.
  • Отправка формы будет содержать токен JWT, а конечная точка будет декодировать токен и проверять, является ли сохраненный в нем идентификатор пользователя действительным идентификатором пользователя, зарегистрированным в базе данных Firebase.

Хорошая или ужасная идея с точки зрения безопасности?

1

Решение

Первое практическое правило заключается в том, что для проверки сгенерированного Firebase JWT вам необходим секрет вашего Firebase. Второе правило: ваш секрет Firebase никогда не должен передаваться или храниться на клиенте.

Учитывая, что для проверки JWT через PHP вам нужно будет использовать библиотеку, которая декодирует его и проверяет, что он подписан вашим секретом Firebase. Как только вы проверите это, я посмотрю на UW JWT и посмотрим, соответствует ли он UID пользователя, которому принадлежит ресурс.

1

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

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

По вопросам рекламы [email protected]