/** * @param string $url * @return string */ public function tokenizeSingleUrl($url) { if (!preg_match($this->aclRegex, $url, $matches)) { return $url; } $acl = $matches[0] . $this->aclPostfix; $c = new Akamai_EdgeAuth_Config(); $c->set_acl($acl); $c->set_window($this->window); $c->set_start_time(time()); # The time from which the token will start $c->set_key($this->salt); $g = new Akamai_EdgeAuth_Generate(); $token = $g->generate_token($c); if (strpos($url, '?') === false) { $url .= '?'; } else { $url .= '&'; } return $url . "{$this->param}={$token}"; }
if (!empty($argc) && strstr($argv[0], basename(__FILE__))) { // bring in getopt and define some exit codes require_once 'Console/Getopt.php'; define('NO_ARGS', 10); define('INVALID_OPTION', 11); // parse args to opts $args = Console_Getopt::readPHPArgv(); $long_opts = array('help', 'window=', 'start-time=', 'ip=', 'acl=', 'session-id=', 'payload=', 'url=', 'salt=', 'field-delimiter=', 'acl-delimiter=', 'algo=', 'key=', 'debug', 'escape-early'); $opts = Console_Getopt::getOpt($args, 'h', $long_opts); // Check the options are valid if (PEAR::isError($opts)) { fwrite(STDERR, $opts->getMessage() . "\n"); exit(INVALID_OPTION); } if (!empty($opts[0])) { $c = new Akamai_EdgeAuth_Config(); $g = new Akamai_EdgeAuth_Generate(); foreach ($opts[0] as $o) { if ($o[0] == '--help') { //@TODO print "php akamai_token_v2.php [options]\n"; print "ie.\n"; print "php akamai_token_v2.php --start=now --window=86400\n"; print "\n"; print "--ip=IP_ADDRESS IP Address to restrict this token to.\n"; print "--start-time= What is the start time. (Use now for the current time)\n"; print "--window=WINDOW_SECONDS\n"; print " How long is this token valid for?\n"; print "--url=URL URL path. [Used for:URL]\n"; print "--acl=ACCESS_LIST Access control list delimited by ! [ie. /*]\n"; print "--key=KEY Secret required to generate the token.\n";
/** * @param string $acl * @return string */ protected function generateToken($acl) { $c = new Akamai_EdgeAuth_Config(); $c->set_acl($acl); $c->set_window($this->window); $c->set_start_time(time()); # The time from which the token will start $c->set_key($this->key); $g = new Akamai_EdgeAuth_Generate(); return $g->generate_token($c); }