function api_keys_utils_get_from_url($more = array()) { $defaults = array('allow_disabled' => 0, 'ensure_isown' => 1); $more = array_merge($defaults, $more); $api_key = request_str("api_key"); # OAuth2 section 2.2 ... if (!$api_key) { $api_key = request_str("client_id"); } if (!$api_key) { error_404(); } $key_row = api_keys_get_by_key($api_key); if (!$key_row) { error_404(); } if ($key_row['deleted']) { error_410(); } if ($more['ensure_isown']) { if ($key_row['user_id'] != $GLOBALS['cfg']['user']['id']) { error_403(); } } if (!$more['allow_disabled']) { if ($key_row['disabled']) { error_403(); } } return $key_row; }
include "include/init.php"; loadlib("api_keys"); loadlib("api_oauth2_access_tokens"); features_ensure_enabled("api"); login_ensure_loggedin(); $api_key = get_str("api_key"); if (!$api_key) { error_404(); } $key_row = api_keys_get_by_key($api_key); if (!$key_row) { error_404(); } if ($key_row['deleted']) { error_410(); } if ($key_row['user_id'] != $GLOBALS['cfg']['user']['id']) { error_403(); } $more = array(); if ($page = get_int32("page")) { $more['page'] = $page; } $rsp = api_oauth2_access_tokens_for_key($key_row, $more); $tokens = array(); foreach ($rsp['rows'] as $row) { $row['user'] = users_get_by_id($row['user_id']); $tokens[] = $row; } $GLOBALS['smarty']->assign_by_ref("key", $key_row);