61 lines
1.7 KiB
PHP
61 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
* Zeed Platform Project
|
|
* Based on Zeed Framework & Zend Framework.
|
|
*
|
|
* BTS - Billing Transaction Service
|
|
* CAS - Central Authentication Service
|
|
*
|
|
* LICENSE
|
|
* http://www.zeed.com.cn/license/
|
|
*
|
|
* @category Zeed
|
|
* @package Zeed_ChangeMe
|
|
* @subpackage ChangeMe
|
|
* @copyright Copyright (c) 2010 Zeed Technologies PRC Inc. (http://www.zeed.com.cn)
|
|
* @author Zeed Team (http://blog.zeed.com.cn)
|
|
* @since Jul 5, 2010
|
|
* @version SVN: $Id: Abstract.php 5517 2010-07-05 08:12:54Z woody $
|
|
*/
|
|
|
|
/**
|
|
* A class for implementing a Signature Method
|
|
* See section 9 ("Signing Requests") in the spec
|
|
*/
|
|
abstract class Zeed_OAuth_Signature_Abstract
|
|
{
|
|
/**
|
|
* Needs to return the name of the Signature Method (ie HMAC-SHA1)
|
|
* @return string
|
|
*/
|
|
abstract public function getName();
|
|
|
|
/**
|
|
* Build up the signature
|
|
* NOTE: The output of this function MUST NOT be urlencoded.
|
|
* the encoding is handled in OAuthRequest when the final
|
|
* request is serialized
|
|
* @param OAuthRequest $request
|
|
* @param OAuthConsumer $consumer
|
|
* @param OAuthToken $token
|
|
* @return string
|
|
*/
|
|
abstract public function buildSignature($request, $consumer, $token);
|
|
|
|
/**
|
|
* Verifies that a given signature is correct
|
|
* @param OAuthRequest $request
|
|
* @param OAuthConsumer $consumer
|
|
* @param OAuthToken $token
|
|
* @param string $signature
|
|
* @return bool
|
|
*/
|
|
public function checkSignature($request, $consumer, $token, $signature)
|
|
{
|
|
$built = $this->buildSignature($request, $consumer, $token);
|
|
return $built == $signature;
|
|
}
|
|
}
|
|
|
|
// End ^ Native EOL ^ encoding
|