oauth2-server/src/Entity/RefreshTokenEntity.php

74 lines
1.8 KiB
PHP
Raw Normal View History

2013-12-24 22:31:11 +05:30
<?php
2014-01-08 21:45:29 +05:30
/**
* OAuth 2.0 Refresh token entity
*
* @package league/oauth2-server
* @author Alex Bilbie <hello@alexbilbie.com>
2014-03-10 01:04:23 +05:30
* @copyright Copyright (c) Alex Bilbie
2014-01-08 21:45:29 +05:30
* @license http://mit-license.org/
2014-03-10 01:35:38 +05:30
* @link https://github.com/thephpleague/oauth2-server
2014-01-08 21:45:29 +05:30
*/
2013-12-24 22:31:11 +05:30
2014-01-16 22:19:46 +05:30
namespace League\OAuth2\Server\Entity;
2013-12-24 22:31:11 +05:30
use League\OAuth2\Server\Storage\SessionStorageInterface;
use League\OAuth2\Server\Storage\RefreshTokenInterface;
use League\OAuth2\Server\Util\SecureKey;
use League\OAuth2\Server\Exception\InvalidAccessTokenException;
2014-01-08 21:45:29 +05:30
use Symfony\Component\HttpFoundation\ParameterBag;
2013-12-24 22:31:11 +05:30
2014-01-08 21:45:29 +05:30
/**
* Refresh token entity class
*/
class RefreshTokenEntity extends AbstractTokenEntity
2013-12-24 22:31:11 +05:30
{
/**
2014-01-08 21:45:29 +05:30
* Access token associated to refresh token
2014-05-02 21:51:53 +05:30
* @var \League\OAuth2\Server\Entity\AccessTokenEntity
2013-12-24 22:31:11 +05:30
*/
2014-01-08 21:45:29 +05:30
protected $accessToken;
2013-12-24 22:31:11 +05:30
/**
* Associate an access token
* @param \League\OAuth2\Server\Entity\AccessTokenEntity $accessToken
2013-12-24 22:31:11 +05:30
* @return self
*/
public function setAccessToken(AccessTokenEntity $accessToken)
2013-12-24 22:31:11 +05:30
{
$this->accessToken = $accessToken;
return $this;
}
/**
* Return access token
* @return AccessToken
*/
public function getAccessToken()
{
if (! $this->accessToken instanceof AccessTokenEntity) {
2014-05-01 19:17:01 +05:30
$this->accessToken = $this->server->getStorage('access_token')->getByRefreshToken($this);
2014-01-10 18:00:13 +05:30
}
2013-12-24 22:31:11 +05:30
return $this->accessToken;
}
/**
2014-01-08 21:45:29 +05:30
* {@inheritdoc}
2013-12-24 22:31:11 +05:30
*/
public function save()
{
2014-01-10 18:00:13 +05:30
$this->server->getStorage('refresh_token')->create(
$this->getToken(),
2013-12-24 22:31:11 +05:30
$this->getExpireTime(),
$this->getAccessToken()->getToken()
2013-12-24 22:31:11 +05:30
);
}
2014-01-10 18:00:13 +05:30
/**
* {@inheritdoc}
*/
public function expire()
{
2014-05-02 21:51:53 +05:30
$this->server->getStorage('refresh_token')->delete($this);
2014-01-10 18:00:13 +05:30
}
2013-12-24 22:31:11 +05:30
}