Я использую firebaseui-web-react
. В процессе регистрации я хочу проверить предоставленную пользователем displayName
перед созданием пользователя. В частности, я хочу убедиться, что displayName
уникален.
Я знаю, как проверять уникальные имена пользователей с помощью Firestore. У меня есть общедоступная коллекция user
с полями displayName
. Я знаю, как посмотреть, если displayName
уже занято, с помощью запроса:
const snapshot = await store
.collection('user')
.where('displayName', '==', displayNameFormValue)
.get()
return snapshot.empty
Я хочу проверить displayName
перед созданием пользователя. Я хочу избежать создания и немедленного удаления пользователя. Я хочу проверить displayName
до того, как FirebaseUI отправит запрос на создание пользователя.
Однако FirebaseUI предоставляет только обратные вызовы, такие как signInSuccessWithAuthResult
. Эти обратные вызовы запускаются только после того, как пользователь был создан. Если я использую эти обратные вызовы для проверки displayName
, мне придется задним числом удалить созданного пользователя, если его displayName
будет взято. Я хочу проверить displayName
пользователя перед его созданием, чтобы избежать удаления.
Как использовать запрос, показанный выше, для проверки displayName
перед созданием пользователя Firebase? Как я могу поддерживать уникальные отображаемые имена, используя готовые компоненты и контекст FirebaseUI? Как я могу интегрировать проверку формы с FirebaseUI?