Аутентификация .NET Firebase, как сохранить учетные данныеC#

Место общения программистов C#
Anonymous
Аутентификация .NET Firebase, как сохранить учетные данные

Сообщение Anonymous »

У меня есть мобильное приложение на базе .NET. Он использует .NET MAUI, но не уверен, что это актуально. Я использую библиотеку FirebaseAuthentication.net Nuget, но с удовольствием выполняю свои собственные http-запросы.
При входе или регистрации я выполняю следующие вызовы

Код: Выделить всё

var userCredential = await client.CreateUserWithEmailAndPasswordAsync("email", "pwd", "Display Name");
var userCredential = await client.SignInWithEmailAndPasswordAsync("email", "pwd");
Обе функции успешно возвращают объект UserCredential, который, среди прочего, содержит как токен идентификатора, так и токен обновления.
Я бы хотел, чтобы пользователь вошел в систему даже после полного выхода из приложения и его повторного открытия. Насколько я понимаю, токен идентификатора недолговечен, и его необходимо обновить с помощью токена обновления, который практически действует в течение всего срока службы учетной записи пользователя.
Однако, похоже, не существует прямого метода, который принимает токен обновления в качестве параметра и возвращает токен идентификатора. Нужно позвонить:

Код: Выделить всё

userCredential.User.GetIdTokenAsync()
Чтобы получить выходной токен или обновленный, если срок его действия истек.
Поскольку UserCredential — это относительно сложный объект, я не думаю, что смогу сохранить токен обновления и повторно заполнить этот объект при следующем запуске приложения.
Я могу придумать одну альтернативу — сериализовать объект userCredential и сохранить его. Но это больше похоже на взлом.
Я полагаю, что могу сохранить пароль пользователя и каждый раз входить в систему в фоновом режиме, но это, скорее всего, противоречит цели использования токенов.
Есть ли лучший способ оставаться в системе между сеансами?

Подробнее здесь: https://stackoverflow.com/questions/774 ... redentials

Вернуться в «C#»