#c# #.net #firebase-authentication
#c# #.net #firebase-аутентификация
Вопрос:
Я использую FirebaseAuthentication.net и FirebaseDatabase.net Пакет NuGet в моем приложении WPF. Но я столкнулся с некоторыми проблемами.
Я уже создал несколько пользователей с помощью CreateUserWithEmailAndPasswordAsync(email, password)
функции и проверил. При первом входе в систему (с помощью SignInWithEmailAndPasswordAsync
функции) это работает, но IsEmailVerified
поле всегда возвращает false . Затем следующий вход в систему всегда выдает мне исключение «Неправильный пароль», хотя пароль правильный.
Вот скриншот, когда я нажимаю на ссылку в электронном письме с подтверждением: https://i.stack.imgur.com/NZhvy.png
Обновление: Решено, после 1 дня в Google я сам редактирую библиотеку, меняю базовый URL REST API для функции SendVerifyEmail на https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key ={0}. Вау, это работа
Комментарии:
1. Firebase Authentication SDK кэширует идентификатор пользователя (который содержит всю информацию о пользователе) в течение часа, а затем автоматически обновляет его. Пока токен ID не будет обновлен, информация о пользователе в приложении может не отражать последние значения с сервера. Чтобы убедиться, что вы обнаружили обновленного пользователя, вы можете либо выйти из него снова, либо принудительно обновить токен ID: firebase.google.com/docs/reference/android/com/google/firebase /… .
2. Спасибо за ваш совет. Но я тоже не знаю, как выйти из системы! Я не силен в JavaScrip или любом другом веб-языке, поэтому моим единственным решением является . Пакет Net Nuget, к сожалению, этот пакет не дает мне никакой функции для выхода из системы! Я знаю Firesharp и FirebaseSharp, но эти пакеты не предоставляют никакой функции аутентификации. Знаете ли вы какие-либо. Пакет Net NuGet, который предоставляет мне функцию полной аутентификации?
Ответ №1:
Кажется, что, хотя пользователь создан, адрес электронной почты еще не проверен. Это означает, что регистрация прошла успешно, но электронная почта еще не проверена.
чтобы включить вход по ссылке электронной почты для вашего проекта Firebase,
Для входа пользователей по ссылке электронной почты необходимо сначала включить поставщика услуг электронной почты и метод входа по ссылке электронной почты для вашего проекта Firebase:
В консоли Firebase откройте раздел авторизации. На вкладке Метод входа включите поставщика электронной почты / пароля. Обратите внимание, что для входа по ссылке электронной почты должен быть включен вход по электронной почте / паролю. В том же разделе включите метод входа по ссылке электронной почты (вход без пароля). Нажмите Сохранить.
затем
Чтобы инициировать процесс аутентификации, предоставьте пользователю интерфейс, который предлагает пользователю указать свой адрес электронной почты, а затем позвоните
sendSignInLinkToEmail
, чтобы запросить Firebase отправить ссылку аутентификации на электронную почту пользователя.
Комментарии:
1. Спасибо, как и в предыдущем вопросе, я подтвердил, что учетная запись подтверждена. Все шаги, которые вы перечислили выше, я также выполнил, но результаты не изменились .
2. учетная запись подтверждена, но адрес электронной почты — нет. это не одно и то же
3. Пожалуйста, проверьте скриншот, который я обновил по вопросу выше. Спасибо