При входе или регистрации я выполняю следующие вызовы
Код: Выделить всё
var userCredential = await client.CreateUserWithEmailAndPasswordAsync("email", "pwd", "Display Name");
var userCredential = await client.SignInWithEmailAndPasswordAsync("email", "pwd");
Я бы хотел, чтобы пользователь вошел в систему даже после полного выхода из приложения и его повторного открытия. Насколько я понимаю, токен идентификатора недолговечен, и его необходимо обновить с помощью токена обновления, который практически действует в течение всего срока службы учетной записи пользователя.
Однако, похоже, не существует прямого метода, который принимает токен обновления в качестве параметра и возвращает токен идентификатора. Нужно позвонить:
Код: Выделить всё
userCredential.User.GetIdTokenAsync()
Поскольку UserCredential — это относительно сложный объект, я не думаю, что смогу сохранить токен обновления и повторно заполнить этот объект при следующем запуске приложения.
Я могу придумать одну альтернативу — сериализовать объект userCredential и сохранить его. Но это больше похоже на взлом.
Я полагаю, что могу сохранить пароль пользователя и каждый раз входить в систему в фоновом режиме, но это, скорее всего, противоречит цели использования токенов.
Есть ли лучший способ оставаться в системе между сеансами?
Подробнее здесь: https://stackoverflow.com/questions/774 ... redentials
Мобильная версия