#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