16 define(
'SESSION_DISABLE_INIT', 1);
18 import(
'classes.oai.ojs.JournalOAI');
19 import(
'classes.handler.Handler');
21 use \Firebase\JWT\JWT;
29 function index($args, $request) {
35 if (!$request->getJournal() && $request->getRequestedJournalPath() !=
'index') {
36 $dispatcher = $request->getDispatcher();
37 return $dispatcher->handle404();
45 function validate($requiredContexts =
null, $request =
null) {
50 $request->redirect(
null,
'index');
54 if ($header = array_search(
'Authorization', array_flip(getallheaders()))) {
55 list($bearer, $jwt) = explode(
' ', $header);
56 if (strcasecmp($bearer,
'Bearer') == 0) {
57 $apiToken = json_decode(JWT::decode($jwt,
Config::getVar(
'security',
'api_key_secret',
''), array(
'HS256')));