references :
Firebase Custom Login - https://www.firebase.com/docs/security/custom-login.html
Firebase REST API - https://www.firebase.com/docs/rest-api.html
Firebase Token Generator for PHP - https://github.com/firebase/firebase-token-generator-php
Encode and decode JSON Web Tokens (JWT) in PHP - https://github.com/firebase/php-jwt
Firebase PHP Helper Library - https://github.com/ktamas77/firebase-php
1-
upload to server FirebaseToken.php + JWT.php + firebaseLib.php
2-
the rule :
Firebase Custom Login - https://www.firebase.com/docs/security/custom-login.html
Firebase REST API - https://www.firebase.com/docs/rest-api.html
Firebase Token Generator for PHP - https://github.com/firebase/firebase-token-generator-php
Encode and decode JSON Web Tokens (JWT) in PHP - https://github.com/firebase/php-jwt
Firebase PHP Helper Library - https://github.com/ktamas77/firebase-php
1-
upload to server FirebaseToken.php + JWT.php + firebaseLib.php
2-
JavaScript:
<?php
include_once "FirebaseToken.php";
require_once 'firebaseLib.php';
$secret = "dHQkvze--"; //FIREBASE SECRET
$tokenGen = new Services_FirebaseTokenGenerator($secret);
$token = $tokenGen -> createToken(array("app_user_id" => 1234, "isAdmin" => true));
$url = 'https://x.firebaseio.com/';
$fb = new fireBase($url, $token);
$response = $fb -> get('/debugNode/');
//echo $response; //using firebaseLib by default is json, no need to use 'REST API' .json
$jsonArray = json_decode($response);
$tmp = "";
foreach ($jsonArray as $value) {
$debugChildNode = $value; //node
$tmp .= $debugChildNode -> Comment . "<br>"; //field
}
echo $tmp;
?>
the rule :
JavaScript:
"debugNode": {
".read": "auth.isAdmin == true",
".write": "auth.isAdmin == true"
}