В моем приложении у меня нет логина пользователя, но я хочу защитить свои данные Firebase. Я использую для этого Firebase Token Generator — PHP. Доступ к базе данных похож на русскую рулетку. Как только у меня есть разрешения, один раз, когда я обновляю страницу.
вот мой файл генератора токенов:
<?php
require_once 'vendor/autoload.php';
use Firebase\Token\TokenException;
use Firebase\Token\TokenGenerator;
try {
$generator = new TokenGenerator('Firebase-Secret');
$token = $generator
->setData(array('uid' => '123'))
->setOption('admin', true)
->create();
} catch (TokenException $e) {
echo "Error: ".$e->getMessage();
}
echo $token;
?>
вот index.php:
<script>var token = "<?= include_once 'getToken.php' ?>";</script>
$(document).ready(function(){
firebaseRef.authWithCustomToken(token, function(error, authData) {
console.log(authData)
}, {remember: "sessionOnly" });
// do something
})
В будущем, пожалуйста, включите минимальное, полное воспроизведение для ваших проблем отладки. Скорее всего, вы сталкиваетесь асинхронные проблемы. Ваш //do something
Код, вероятно, должен перейти в обратный вызов для аутентификации.
$(document).ready(function(){
firebaseRef.authWithCustomToken(token, function(error, authData) {
console.log(authData);
if( !error ) {
// run your authenticated code here
}
}, {remember: "sessionOnly" });
// trying to run something here that requires auth will
// be non-deterministic
});
Других решений пока нет …