Я использую пользовательские токены в своем приложении и сервере для аутентификации. Старая Firebase имела возможность настроить время истечения сеанса для всех своих токенов, так что, когда истекает срок действия сеанса, клиент должен был запросить новый токен с сервера и тем самым создать цикл регенерации токена каждый раз.Недействительность сессии Firebase
Я хотел был бы иметь такую же функциональность с новой системой Firebase auth.
В коде documentation указано, что параметр срока действия токена предназначен только для самого токена и что пользователь остается подписанным до тех пор, пока он не выйдет из строя или сеанс недействителен.
- Как я могу аннулировать сеанс, чтобы вызвать событие
onAuthStateChanged
, чтобы я мог запросить у моего сервера новый токен? - Кроме того, когда именно происходит пожар
onAuthStateChanged
? Я никогда не выполнял этот обратный вызов.
Примечание
Метод getToken
в Android SDK имеет возможность принудительно обновить маркер, который генерирует новый маркер и подписывает пользователя автоматически. Хотя это интересный вариант, как именно приложение может генерировать новый токен без участия сервера, находится вне меня: сервер - это тот, у кого есть все необходимые параметры для создания этого токена, включая закрытый ключ, который я получить из файла , который необходим для пользовательских токенов.
EDIT
Попытка для проверки приложения генерируемых маркеров на стороне сервера приводит недопустимые подписи.
Значит, вы говорите, что если я чеканю свои жетоны, мне нужно самому справиться с недействительностью? Хорошо, справедливо, но я все равно хочу отправить токен с каждым из моих вызовов сервера, для проверки и аутентификации. Есть ли способ восстановить токен через Firebase SDK? Я хочу не хранить его в общих предпочтениях или любом другом методе «самостоятельно» – Aralizer