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

#firebase #google-cloud-functions #flutter-web

#firebase #google-cloud-функции #flutter-web

Вопрос:

Поскольку нет способа реализовать полный поток OAuth2 в Flutter web (из-за этой проблемы), я использую облачную функцию в качестве прослушивателя обратного вызова. Процесс инициируется пользователем в веб-приложении, и вместо веб-приложения, прослушивающего обратный вызов, URL-адрес перенаправления является адресом облачной функции, которая распаковывает токен и сохраняет его в Firestore. Каков был бы хороший способ связать запрос, который сервер аутентификации отправляет в мою облачную функцию, с отдельным пользователем, который зарегистрирован в базе данных моего приложения? Другими словами: как функция firebase Cloud узнает, для какого пользователя в Firestore хранить токен доступа?

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

Комментарии:

1. «как функция firebase Cloud узнает, для какого пользователя в Firestore хранить токен доступа?» Это не так. Токен ID передается (и проверяется) с каждым запросом.

2. Я знаю, что это не так. Вопрос в том, «как мы сообщаем об этом?»