Merge pull request #465 from juliangut/repositories_visibility

normalize repositories visibility
This commit is contained in:
Alex Bilbie 2016-03-15 21:30:48 +01:00
commit 4c392db673
5 changed files with 23 additions and 49 deletions

View File

@ -11,7 +11,6 @@
namespace League\OAuth2\Server\Grant; namespace League\OAuth2\Server\Grant;
use League\Event\EmitterAwareTrait; use League\Event\EmitterAwareTrait;
use League\Event\EmitterInterface;
use League\Event\Event; use League\Event\Event;
use League\OAuth2\Server\Entities\AccessTokenEntity; use League\OAuth2\Server\Entities\AccessTokenEntity;
use League\OAuth2\Server\Entities\AuthCodeEntity; use League\OAuth2\Server\Entities\AuthCodeEntity;
@ -24,6 +23,7 @@ use League\OAuth2\Server\Repositories\AuthCodeRepositoryInterface;
use League\OAuth2\Server\Repositories\ClientRepositoryInterface; use League\OAuth2\Server\Repositories\ClientRepositoryInterface;
use League\OAuth2\Server\Repositories\RefreshTokenRepositoryInterface; use League\OAuth2\Server\Repositories\RefreshTokenRepositoryInterface;
use League\OAuth2\Server\Repositories\ScopeRepositoryInterface; use League\OAuth2\Server\Repositories\ScopeRepositoryInterface;
use League\OAuth2\Server\Repositories\UserRepositoryInterface;
use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\ServerRequestInterface;
/** /**
@ -58,12 +58,17 @@ abstract class AbstractGrant implements GrantTypeInterface
/** /**
* @var \League\OAuth2\Server\Repositories\AuthCodeRepositoryInterface * @var \League\OAuth2\Server\Repositories\AuthCodeRepositoryInterface
*/ */
private $authCodeRepository; protected $authCodeRepository;
/** /**
* @var \League\OAuth2\Server\Repositories\RefreshTokenRepositoryInterface * @var \League\OAuth2\Server\Repositories\RefreshTokenRepositoryInterface
*/ */
private $refreshTokenRepository; protected $refreshTokenRepository;
/**
* @var \League\OAuth2\Server\Repositories\UserRepositoryInterface
*/
protected $userRepository;
/** /**
* @var string * @var string
@ -120,6 +125,14 @@ abstract class AbstractGrant implements GrantTypeInterface
$this->authCodeRepository = $authCodeRepository; $this->authCodeRepository = $authCodeRepository;
} }
/**
* @param \League\OAuth2\Server\Repositories\UserRepositoryInterface $userRepository
*/
public function setUserRepository(UserRepositoryInterface $userRepository)
{
$this->userRepository = $userRepository;
}
/** /**
* @param string $pathToPrivateKey * @param string $pathToPrivateKey
*/ */
@ -136,14 +149,6 @@ abstract class AbstractGrant implements GrantTypeInterface
$this->pathToPublicKey = $pathToPublicKey; $this->pathToPublicKey = $pathToPublicKey;
} }
/**
* {@inheritdoc}
*/
public function setEmitter(EmitterInterface $emitter = null)
{
$this->emitter = $emitter;
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
@ -152,22 +157,6 @@ abstract class AbstractGrant implements GrantTypeInterface
$this->refreshTokenTTL = $refreshTokenTTL; $this->refreshTokenTTL = $refreshTokenTTL;
} }
/**
* @return AuthCodeRepositoryInterface
*/
protected function getAuthCodeRepository()
{
return $this->authCodeRepository;
}
/**
* @return RefreshTokenRepositoryInterface
*/
protected function getRefreshTokenRepository()
{
return $this->refreshTokenRepository;
}
/** /**
* Validate the client. * Validate the client.
* *

View File

@ -24,11 +24,6 @@ class AuthCodeGrant extends AbstractAuthorizeGrant
*/ */
private $authCodeTTL; private $authCodeTTL;
/**
* @var \League\OAuth2\Server\Repositories\UserRepositoryInterface
*/
private $userRepository;
/** /**
* @param \League\OAuth2\Server\Repositories\AuthCodeRepositoryInterface $authCodeRepository * @param \League\OAuth2\Server\Repositories\AuthCodeRepositoryInterface $authCodeRepository
* @param \League\OAuth2\Server\Repositories\RefreshTokenRepositoryInterface $refreshTokenRepository * @param \League\OAuth2\Server\Repositories\RefreshTokenRepositoryInterface $refreshTokenRepository
@ -49,7 +44,7 @@ class AuthCodeGrant extends AbstractAuthorizeGrant
) { ) {
$this->setAuthCodeRepository($authCodeRepository); $this->setAuthCodeRepository($authCodeRepository);
$this->setRefreshTokenRepository($refreshTokenRepository); $this->setRefreshTokenRepository($refreshTokenRepository);
$this->userRepository = $userRepository; $this->setUserRepository($userRepository);
$this->authCodeTTL = $authCodeTTL; $this->authCodeTTL = $authCodeTTL;
$this->refreshTokenTTL = new \DateInterval('P1M'); $this->refreshTokenTTL = new \DateInterval('P1M');
$this->loginTemplate = $loginTemplate; $this->loginTemplate = $loginTemplate;
@ -262,7 +257,7 @@ class AuthCodeGrant extends AbstractAuthorizeGrant
throw OAuthServerException::invalidRequest('code', 'Authorization code has expired'); throw OAuthServerException::invalidRequest('code', 'Authorization code has expired');
} }
if ($this->getAuthCodeRepository()->isAuthCodeRevoked($authCodePayload->auth_code_id) === true) { if ($this->authCodeRepository->isAuthCodeRevoked($authCodePayload->auth_code_id) === true) {
throw OAuthServerException::invalidRequest('code', 'Authorization code has been revoked'); throw OAuthServerException::invalidRequest('code', 'Authorization code has been revoked');
} }

View File

@ -16,11 +16,6 @@ use Zend\Diactoros\Uri;
class ImplicitGrant extends AbstractAuthorizeGrant class ImplicitGrant extends AbstractAuthorizeGrant
{ {
/**
* @var \League\OAuth2\Server\Repositories\UserRepositoryInterface
*/
private $userRepository;
/** /**
* @param \League\OAuth2\Server\Repositories\UserRepositoryInterface $userRepository * @param \League\OAuth2\Server\Repositories\UserRepositoryInterface $userRepository
* @param string|null $loginTemplate * @param string|null $loginTemplate
@ -33,7 +28,7 @@ class ImplicitGrant extends AbstractAuthorizeGrant
$authorizeTemplate = null, $authorizeTemplate = null,
RendererInterface $templateRenderer = null RendererInterface $templateRenderer = null
) { ) {
$this->userRepository = $userRepository; $this->setUserRepository($userRepository);
$this->refreshTokenTTL = new \DateInterval('P1M'); $this->refreshTokenTTL = new \DateInterval('P1M');
$this->loginTemplate = $loginTemplate; $this->loginTemplate = $loginTemplate;
$this->authorizeTemplate = $authorizeTemplate; $this->authorizeTemplate = $authorizeTemplate;

View File

@ -23,11 +23,6 @@ use Psr\Http\Message\ServerRequestInterface;
*/ */
class PasswordGrant extends AbstractGrant class PasswordGrant extends AbstractGrant
{ {
/**
* @var \League\OAuth2\Server\Repositories\UserRepositoryInterface
*/
private $userRepository;
/** /**
* @param \League\OAuth2\Server\Repositories\UserRepositoryInterface $userRepository * @param \League\OAuth2\Server\Repositories\UserRepositoryInterface $userRepository
* @param \League\OAuth2\Server\Repositories\RefreshTokenRepositoryInterface $refreshTokenRepository * @param \League\OAuth2\Server\Repositories\RefreshTokenRepositoryInterface $refreshTokenRepository
@ -36,7 +31,7 @@ class PasswordGrant extends AbstractGrant
UserRepositoryInterface $userRepository, UserRepositoryInterface $userRepository,
RefreshTokenRepositoryInterface $refreshTokenRepository RefreshTokenRepositoryInterface $refreshTokenRepository
) { ) {
$this->userRepository = $userRepository; $this->setUserRepository($userRepository);
$this->setRefreshTokenRepository($refreshTokenRepository); $this->setRefreshTokenRepository($refreshTokenRepository);
$this->refreshTokenTTL = new \DateInterval('P1M'); $this->refreshTokenTTL = new \DateInterval('P1M');

View File

@ -74,13 +74,13 @@ class RefreshTokenGrant extends AbstractGrant
// Expire old tokens // Expire old tokens
$this->accessTokenRepository->revokeAccessToken($oldRefreshToken['access_token_id']); $this->accessTokenRepository->revokeAccessToken($oldRefreshToken['access_token_id']);
$this->getRefreshTokenRepository()->revokeRefreshToken($oldRefreshToken['refresh_token_id']); $this->refreshTokenRepository->revokeRefreshToken($oldRefreshToken['refresh_token_id']);
// Issue and persist new tokens // Issue and persist new tokens
$accessToken = $this->issueAccessToken($accessTokenTTL, $client, $oldRefreshToken['user_id'], $scopes); $accessToken = $this->issueAccessToken($accessTokenTTL, $client, $oldRefreshToken['user_id'], $scopes);
$refreshToken = $this->issueRefreshToken($accessToken); $refreshToken = $this->issueRefreshToken($accessToken);
$this->accessTokenRepository->persistNewAccessToken($accessToken); $this->accessTokenRepository->persistNewAccessToken($accessToken);
$this->getRefreshTokenRepository()->persistNewRefreshToken($refreshToken); $this->refreshTokenRepository->persistNewRefreshToken($refreshToken);
// Inject tokens into response // Inject tokens into response
$responseType->setAccessToken($accessToken); $responseType->setAccessToken($accessToken);
@ -126,7 +126,7 @@ class RefreshTokenGrant extends AbstractGrant
throw OAuthServerException::invalidRefreshToken('Token has expired'); throw OAuthServerException::invalidRefreshToken('Token has expired');
} }
if ($this->getRefreshTokenRepository()->isRefreshTokenRevoked($refreshTokenData['refresh_token_id']) === true) { if ($this->refreshTokenRepository->isRefreshTokenRevoked($refreshTokenData['refresh_token_id']) === true) {
throw OAuthServerException::invalidRefreshToken('Token has been revoked'); throw OAuthServerException::invalidRefreshToken('Token has been revoked');
} }