Support for authentication

This commit is contained in:
Evan Seguin
2012-07-19 12:52:13 -07:00
parent 1c503f13ff
commit 78a0f180d0
8 changed files with 134 additions and 17 deletions

View File

@@ -0,0 +1,7 @@
<?php
interface Auth {
public function handleHeader();
public function handleParams();
}
?>

View File

@@ -0,0 +1,24 @@
<?php
require_once(dirname(__FILE__) . "/HeaderAuth.php");
class BasicAuth extends HeaderAuth {
private $header;
function __construct($username, $password) {
$headerValue = $username . ":" . $password;
$this->header = "Authorization: " . base64_encode($headerValue);
}
public function handleHeader() {
return $this->header;
}
public function handleParams() {
return null;
}
}
?>

View File

@@ -0,0 +1,22 @@
<?php
require_once(dirname(__FILE__) . "/HeaderAuth.php");
class CustomHeaderAuth extends HeaderAuth {
private $header;
function __construct($headerName, $headerValue) {
$this->header = $headerName . ": " . $headerValue;
}
public function handleHeader() {
return $this->header;
}
public function handleParams() {
return null;
}
}
?>

View File

@@ -0,0 +1,9 @@
<?php
require_once(dirname(__FILE__) . "/Auth.php");
abstract class HeaderAuth implements Auth {
public function handleParams() {
return null;
}
}
?>

View File

@@ -0,0 +1,18 @@
<?php
require_once(dirname(__FILE__) . "/../http/AuthUtil.php");
require_once(dirname(__FILE__) . "/HeaderAuth.php");
class MashapeAuth extends HeaderAuth {
private $header;
function __construct($publicKey, $privateKey) {
$this->header = AuthUtil::generateAuthenticationHeader($publicKey, $privateKey);
}
public function handleHeader() {
return $this->header;
}
}
?>

View File

@@ -0,0 +1,21 @@
<?php
require_once(dirname(__FILE__) . "/Auth.php");
class QueryAuth implements Auth {
private $params;
function __construct($queryKey, $queryValue) {
$this->params = array($queryKey => $queryValue);
}
public function handleHeader() {
return null;
}
public function handleParams() {
return $this->params;
}
}
?>