Как использовать UserMetadata и другие типы в firebase

#typescript #firebase #firebase-authentication

# #typescript #firebase #firebase-аутентификация

Вопрос:

Как импортировать типы из firebase? Я вызываю signInWithEmailAndPassword функцию в auth и хочу сохранить результат в переменной, определяемой типом. Просматривая код и документы, я вижу, что здесь должен быть тип UserCredential: https://firebase.google.com/docs/reference/js/firebase.auth#usercredential

Мне непонятно, как я могу импортировать и использовать этот тип.

Спасибо!

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

1. Насколько я знаю, у пользователей в Firebase нет типа. Можете ли вы предоставить дополнительную информацию (или ссылку) о «типе», на который вы ссылаетесь?

2. Я имею в виду тип, возвращаемый после вызова signInWithEmailAndPassword здесь: firebase.google.com/docs/reference/js /. … Сигнатура функции говорит, что она возвращает обещание типа UserCredential, определенного здесь: firebase.google.com/docs/reference/js /…

Ответ №1:

Этот класс UserCredential используется для доставки вам информации из различных вызовов API. Нет причин создавать его самостоятельно.

Свойство operationType не является типом пользователя. Документы, на которые вы ссылались, говорят:

operationType может быть ‘signIn’ для операции входа, ‘link’ для операции связывания и ‘reauthenticate’ для операции повторной аутентификации.

Это просто рассказывает вам, что произошло внутри auth SDK, в результате чего появился объект User, который вы получили через объект UserCredential.

У пользователей нет назначенного «типа» в Firebase Auth — это зависит от вас, чтобы назначить и записать в своем собственном приложении, обычно в базе данных.

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

1. Спасибо! Это вывод, к которому я в конечном итоге пришел. Я просто хотел сохранить информацию о пользователе в состоянии браузера / javascript, чтобы знать, нужно ли мне показывать экран входа в систему или я могу разрешить им войти в приложение. Я думал, что смогу использовать для этого типы firebase, но в конце концов я создал свой собственный тип и извлек нужную мне информацию из объекта UserCredential, возвращаемого после вызова signInWithEmailAndPassword