/** * @param $secret * @param $uid * @param bool $admin * @throws TokenException */ public function generateToken($secret, $uid, $admin = false) { $tokenGenerator = new TokenGenerator($secret); $tokenGenerator->setData(['uid' => $uid]); if ($admin) { $tokenGenerator->setOption('admin', true); } $this->token = $tokenGenerator->create(); }
public function testAllowEmptyUidIfAdminOptionIsSet() { $token = $this->generator->setOption('admin', true)->create(); $data = $this->decodeToken($token); $this->assertTrue($data->admin); }
<script src="https://cdn.firebase.com/js/client/2.3.1/firebase.js"></script> <script src="js/jquery.bootstrap-growl.min.js"></script> <script src="js/bootstrap-select.min.js"></script> <script src="js/elements.js"></script> <script> <?php require 'vendor/autoload.php'; use Firebase\Token\TokenException; use Firebase\Token\TokenGenerator; if ($_GET['trip']) { // Enable anonymous authentication and put in your firebase secret $secret = 'your_firebase_secret'; $sequence = $_GET['trip']; try { $generator = new TokenGenerator($secret); $token = $generator->setOption("admin", true)->create(); $sequence_share_check_url = 'https://motorbike-tracker.firebaseio.com/sequences/' . $sequence . '/share.json?auth=' . $token; $ch = curl_init($sequence_share_check_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $result = curl_exec($ch); if (strpos($result, "true") >= 0) { $generator = new TokenGenerator($secret); $expires = time() + 3600; $token = $generator->setData(['uid' => 'uid', 'provider' => 'anonymous'], ['expires' => $expires])->create(); echo "var token = '" . $token . "'; var shared_trip='" . $sequence . "';"; } } catch (TokenException $e) { } } else { } ?>