Firebase JWT 身份验证
Firebase JWT Authentication
在我的应用程序中,我没有用户登录,但我想保护我的 Firebase 数据。我使用这个 Firebase 令牌生成器 - 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
})
以后请加一个minimal, complete repro for your debugging issues. Most likely, you are running into asynchronous issues。您的 //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
});
在我的应用程序中,我没有用户登录,但我想保护我的 Firebase 数据。我使用这个 Firebase 令牌生成器 - 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
})
以后请加一个minimal, complete repro for your debugging issues. Most likely, you are running into asynchronous issues。您的 //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
});