Admin SDK не имеет чувства текущего пользователя. Когда вы говорите admin.auth()
, вы получаете объект Auth . Как вы можете видеть из документации по API, у него нет свойства currentUser. Только SDK клиента Firebase имеет представление о текущем пользователе, поскольку вы используете его для входа в систему.
Если вам необходимо, чтобы клиентское приложение сообщало, чтобы код Cloud Functions работал с идентификационной информацией пользователя, вам необходимо отправить ему идентификационный токен с клиента и проверить его на сервере. Затем сервер может знать, кто является конечным пользователем, и выполнять действия от его имени. Обычно вы делаете это с помощью триггера типа HTTP. Вызываемые функции автоматически передают эти данные между клиентом и сервером, но вы можете сделать это вручную самостоятельно, используя код, который работает как этот пример .
В настоящий момент триггеры Firestore не имеют немедленного доступа к конечному пользователю, который внес изменения в базу данных. Однако, если вы используете Auth UID пользователя в качестве ключа документа и защищаете этот документ с помощью правил безопасности, вы можете по крайней мере вывести UID пользователя на основе изменений, которые они вносят в документ, извлекая его из идентификатор документа, который изменился.