Please check the difference between Phpseclib versions 2 and 3 for getting the public key.
For Phpseclib version 2:
<?php
use phpseclibCryptRSA;
use FirebaseJWTJWT;
use phpseclibMathBigInteger;
$rsa = new RSA();
$rsa->loadKey([
'e' => new BigInteger(JWT::urlsafeB64Decode($e), 256),
'n' => new BigInteger(JWT::urlsafeB64Decode($n), 256)
]);
echo $rsa->getPublicKey(); //get the Public Key
?>
For Phpseclib version 3:
<?php
use phpseclib3CryptRSA;
use phpseclib3CryptPublicKeyLoader;
use phpseclib3MathBigInteger;
use FirebaseJWTJWT;
$key = PublicKeyLoader::load([
'e' => new BigInteger(JWT::urlsafeB64Decode($e), 256),
'n' => new BigInteger(JWT::urlsafeB64Decode($n), 256)
]);
echo $key; //get the Public Key
?>

