I have a php file on an second server that creates JWT Tokens using the Firebase Token Generator (https://github.com/firebase/php-jwt).
When I make a post using .ajax in my app, it keeps giving me a 500 error. I think that use \Firebase\JWT\JWT;
in the php file may be causing this issue, but i am not sure why. Would appreciate any assistance with pointing me in the right direction.
Here is the PHP
<?php header('Access-Control-Allow-Origin: *'); ?>
<?PHP
if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 day
}
// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
exit(0);
}
// include('./config.php');
require_once '../vendor/firebase/php-jwt/src/BeforeValidException.php';
require_once '../vendor/firebase/php-jwt/src/ExpiredException.php';
require_once '../vendor/firebase/php-jwt/src/SignatureInvalidException.php';
require_once '../vendor/firebase/php-jwt/src/JWT.php';
$issuedAt = time();
$expire = $issuedAt + 86400; //add 24 hours
$personalID = $_POST['personalID'];
$email = $_POST['email'];
$key = "stringkeyexample";
$token = array(
"iss" => "example.com",
"aud" => "example.org",
"iat" => $issuedAt,
"nbf" => $issuedAt,
"exp" => $expire,
"pid" => $personalID
);
if ($puid){
use \Firebase\JWT\JWT;
$jwt = JWT::encode($token, $key);
print_r($jwt);
}
here is the .ajax:
$.ajax({
type: "POST"
, dataType: "html"
, url: "https://external-server.com/jwt.php"
, data: {personalID: personalID, email: email}
, beforeSend: function(){
console.log("before");
}
, complete: function(){
console.log("done");
}
, success: function(html){
console.log(html);
}
});