api/
ved/
admin/
modules/
gyar/
admin/
cron/
api/ved/admin/authorization.php1 lines
<?php
# authorization.php
# Funktion som API endpoints använder för att kontrollera en token.
# Används endast på de API metoderna som kräver administratorinlogg.
return function ($authType, $authToken) {
# I vårt fall använder vi en Bearer token.
if ($authType != "Bearer")
throw new APIError(401, "Invalid authorization.");
require_once "ved/modules/vedDatabase.php";
# Token hashas och jämförs med databasen.
$hashed = hash("sha256", $authToken);
$token = $db->query("SELECT tokenId FROM authToken WHERE tokenHash=:tokenHash AND expiresAt>CURRENT_TIMESTAMP AND (revokedAt IS NULL OR revokedAt>CURRENT_TIMESTAMP)", array("tokenHash" => $hashed));
if (!$token)
throw new APIError(401, "Invalid authorization.");
# Här hade man kunnat kolla ifall användaren är behörig att komma åt resursen, och eventuellt ge en 403 forbidden error.
# Eftersom alla användare är administratörer med full makt över allting på sidan behövs inte det i det här fallet.
};
?>