Как я могу запустить облачную функцию firestore при входе пользователя? - PullRequest
0 голосов
/ 11 ноября 2018

Облачные функции не принимают onLoging по умолчанию, как я могу «обойти» это ограничение, чтобы я мог запускать облачную функцию каждый раз, когда пользователь «подключается».

До сих пор я думал, что нужно запустить создание документа при входе в систему и прослушать его, но что происходит, когда пользователь не входит в систему, а использует свой последний сеанс?

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

запускает ли функция в приложении init (angular 7) решение здесь?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Только вы можете определить, что такое «сессия» для вашего приложения. Не существует универсального определения, которое можно использовать для запуска облачной функции. Firebase Authentication также не поможет в этом, поскольку пользователи вошли в систему «навсегда», пока ваш код явно не выйдет из них (он автоматически обновляет маркер авторизации пользователя каждый час).

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

0 голосов
/ 11 ноября 2018

Вы можете создать функцию, которая срабатывает при создании пользователя Firebase, используя обработчик событий functions.auth.user (). OnCreate ():

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
  // ...
});

https://firebase.google.com/docs/functions/auth-events?hl=en-419

но у вас есть альтернатива - операция записи в клиенте при входе пользователя в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...