OAuth/src/JacobKiers/OAuth/DataStore/DataStoreInterface.php

82 lines
2.6 KiB
PHP

<?php
/**
* OAuth
*
* @package OAuth
* @author Andy Smith
* @author Gary Jones <gary@garyjones.co.uk>
* @license https://raw.github.com/jacobkiers/OAuth/master/LICENSE MIT
* @link https://github.com/jacobkiers/OAuth
*/
namespace JacobKiers\OAuth\DataStore;
use \JacobKiers\OAuth\Token\TokenInterface;
use \JacobKiers\OAuth\Consumer\ConsumerInterface;
/**
* The actual implementation of validating and assigning tokens is left up to
* the system using this library.
*
* @package OAuth
* @author Gary Jones <gary@garyjones.co.uk>
*/
interface DataStoreInterface
{
/**
* Validate the consumer.
*
* @param string $consumer_key
*
* @return JacobKiers\OAuth\Consumer\ConsumerInterface
*/
public function lookupConsumer($consumer_key);
/**
* Validate a token.
*
* @param JacobKiers\OAuth\Consumer\ConsumerInterface $consumer
* @param string $token_type Request or access token
* @param string $token_key
*
* @return JacobKiers\OAuth\Token
*/
public function lookupToken(ConsumerInterface $consumer, $token_type, $token_key);
/**
* Validate that a nonce has not been used with the same timestamp before.
*
* @param JacobKiers\OAuth\Consumer\ConsumerInterface $consumer
* @param JacobKiers\OAuth\Token $token
* @param string $nonce
* @param int $timestamp
*
* @return boolean
*/
public function lookupNonce(ConsumerInterface $consumer, TokenInterface $token, $nonce, $timestamp);
/**
* Return a new token attached to this consumer.
*
* @param JacobKiers\OAuth\Consumer\ConsumerInterface $consumer
* @param string $callback URI to send the post-authorisation callback to.
*
* @return JacobKiers\OAuth\Token
*/
public function newRequestToken(ConsumerInterface $consumer, $callback = null);
/**
* Return a new access token attached to this consumer for the user
* associated with this token if the request token is authorized.
*
* Should also invalidate the request token.
*
* @param JacobKiers\OAuth\Consumer\ConsumerInterface $consumer
* @param JacobKiers\OAuth\Token $token
* @param string $verifier
*
* @return JacobKiers\OAuth\Token
*/
public function newAccessToken(ConsumerInterface $consumer, TokenInterface $token, $verifier = null);
}