Мне необходимо определить UID, согласованный с тем, когда пользователь был создан с помощью пользовательского токена на сервере или стороннего поставщика. Если нет способа определить UID изначально, есть ли процесс для:
- Создание нового пользователя ДО входа в систему поставщика, чтобы можно было связать учетные данные поставщика
- После того, как пользователь создан (с UID от провайдера), создайте нового пользователя с желаемым UID, перенесите учетные данные и затем удалите исходного пользователя.
Они оба кажутся трудными способами решить, что должно быть в целом простой задачей.
EDIT:
Мы создаем внутренний уникальный идентификатор пользователя и сохраняем его в базе данных SQL. Этот идентификатор пользователя используется для идентификации пользователя во всех случаях. Если пользователь создается с помощью стандартного процесса регистрации, он будет создан, а затем сохранен в Firesbase Auth с этим идентификатором пользователя. Если сторонний поставщик создает учетную запись, она сохраняется в Firebase Auth с UID, созданным поставщиком. Этот UID может быть строкой, что означало бы, что если бы мы попытались сохранить его в БД, вся наша кодовая база должна была бы перенести UID типа из int в строку. Вместо этого было бы намного проще, если бы значение UID в Firebase Auth было таким же, как и UID, который мы создаем, что может быть сделано при первом создании пользователя, но НЕ при создании его сторонним поставщиком. Мы не должны поддерживать несколько идентификаторов пользователей, т. Е. Наш идентификатор пользователя НЕ будет совпадать с идентификатором провайдера, поэтому для захвата пользователя и проверки токенов мы хотим использовать наш идентификатор пользователя, а не UID поставщика.