Вопрос в названии. Я провел некоторые исследования, но мне кажется, что я не могу найти решение для продления срока жизни сеанса входа в систему при использовании аутентификации firebase.
В настоящее время у меня есть файл, который регистрирует пользователя с фронта. конец. После входа в систему с помощью аутентификации Firebase я передаю токен идентификатора firebase на сервер:
//[index.php]
auth.onAuthStateChanged(function(user) {
if (user) {
//Retrieve the firebase id token
user.getIdToken().then((idToken) => {
//Send the idToken to the server
sendIdTokenToServer();
});
} else {
//The user is logged out, redirect to login page
}
});
Со стороны сервера я проверяю токен идентификатора firebase и назначаю его $_SESSION['firsebase_id_token']
, если токен действителен .
//[server.php]
//Pseudo verifying the token, if the token is valid, record it
if (verifyToken($token)) $_SESSION['firebase_id_token'] = $token;
Теперь с этого момента я пытаюсь проверить токен перед обработкой чего-либо со стороны сервера. Например:
//[test.php]
//Before processing anything, validate the token
if (verifyToken($_SESSION['firebase_id_token'])) {
//Perform an action because the user is still logged in
} else {
//Redirect the user to login page because they are logged out/the token cannot be verified
}
Я не уверен, что это правильный подход к проблеме (поэтому, пожалуйста, предложите правильный подход) , это именно то, что я считаю правильным при чтении документация. Все, что я хочу сделать, это проверить пользователя (который вошел в систему со стороны клиента) со стороны сервера перед выполнением каких-либо административных задач. Проблема в том, что через очень короткий промежуток времени $token
больше не действителен, поэтому запрос не может быть выполнен.
Как продлить сеанс токена идентификатора firebase с клиента сторона