Я аутентифицирую клиентскую часть через Firebase SDK пользователей в своем приложении. Затем начинается сеанс клиента. Затем я хочу, чтобы пользователь мог опубликовать на конечных точках PHP некоторые данные. Я хочу, чтобы скрипт PHP проверял, поступает ли запрос от аутентифицированного пользователя, а затем проверяет остальную часть данных. Если все в порядке, мы завершаем операцию.
Я решил сделать это вот так:
Хорошая или страшная идея с точки зрения безопасности?
Первое эмпирическое правило заключается в том, что для проверки созданного Firebase JWT вам нужен секрет вашей Firebase. Второе правило заключается в том, что ваш секрет Firebase никогда не должен отправляться или храниться на клиенте.
Учитывая, что для проверки JWT через PHP вам нужно будет использовать библиотеку, которая ее расшифровывает и проверяет, что она была подписана вашим секретом Firebase. Как только вы это подтвердите, я посмотрю на UID JWT и посмотрю, соответствует ли он uid пользователю, которому принадлежит ресурс.
uid
из аутентификации Firebase в качестве идентификатора пользователя, вы можете просто использовать JWT, связанный с сеансом Firebase, вместо того, чтобы создавать его самостоятельно.