get('enabled') !== 'true') { exit; } /** @var Platform $platform */ $platform = Database::getManager() ->getRepository('ChamiloPluginBundle:ImsLti\Platform') ->findOneBy([]); if (!$platform) { exit; } $jwks = []; $key = new RSA(); $key->setHash('sha256'); $key->loadKey($platform->getPrivateKey()); $key->setPublicKey(false, RSA::PUBLIC_FORMAT_PKCS8); if ($key->publicExponent) { $jwks = [ 'kty' => 'RSA', 'alg' => 'RS256', 'use' => 'sig', 'e' => JWT::urlsafeB64Encode($key->publicExponent->toBytes()), 'n' => JWT::urlsafeB64Encode($key->modulus->toBytes()), 'kid' => $platform->getKid(), ]; } header('Content-Type: application/json'); echo json_encode(['keys' => [$jwks]]);