for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Commercetools\Core\Client\OAuth;
class TokenStorageProvider implements RefreshTokenProvider
{
/**
* @var TokenStorage
*/
private $tokenStorage;
* @var AnonymousFlowTokenProvider;
private $anonymousProvider;
* TokenStorageProvider constructor.
* @param TokenStorage $tokenStorage
* @param AnonymousFlowTokenProvider $anonymousProvider
public function __construct(TokenStorage $tokenStorage, AnonymousFlowTokenProvider $anonymousProvider)
$this->tokenStorage = $tokenStorage;
$this->anonymousProvider = $anonymousProvider;
}
* @inheritDoc
public function refreshToken()
$token = $this->anonymousProvider->refreshToken();
$this->storeToken($token);
return $token;
public function getToken()
$token = $this->tokenStorage->getAccessToken();
if (!is_null($token)) {
is_null($token)
false
return new Token($token);
if ($this->tokenStorage->getRefreshToken()) {
return $this->refreshToken();
$token = $this->anonymousProvider->getToken();
private function storeToken(Token $token)
$this->tokenStorage->setAccessToken($token->getToken());
$this->tokenStorage->setRefreshToken($token->getRefreshToken());