Your IP : 3.133.110.37


Current Path : /var/www/www-root/data/www/info.monolith-realty.ru/bitrix/modules/rest/lib/oauth/
Upload File :
Current File : /var/www/www-root/data/www/info.monolith-realty.ru/bitrix/modules/rest/lib/oauth/storagecache.php

<?php
namespace Bitrix\Rest\OAuth;


use Bitrix\Main\Application;
use Bitrix\Rest\AuthStorageInterface;

class StorageCache implements AuthStorageInterface
{
	const CACHE_TTL = 3600;
	const CACHE_PREFIX = "oauth_";

	public function store(array $authResult)
	{
		$cache = $this->getCache();

		$cache->read(static::CACHE_TTL, $this->getCacheId($authResult["access_token"]));
		$cache->set($this->getCacheId($authResult["access_token"]), $authResult);
	}

	public function rewrite(array $authResult)
	{
		$cache = $this->getCache();

		$cache->clean($this->getCacheId($authResult["access_token"]));
		$cache->read(static::CACHE_TTL, $this->getCacheId($authResult["access_token"]));
		$cache->set($this->getCacheId($authResult["access_token"]), $authResult);
	}

	public function restore($accessToken)
	{
		$cache = $this->getCache();

		$authResult = false;

		if($readResult = $cache->read(static::CACHE_TTL, $this->getCacheId($accessToken)))
		{
			$authResult = $cache->get($this->getCacheId($accessToken));
		}

		return $authResult;
	}

	protected function getCacheId($accessToken)
	{
		return static::CACHE_PREFIX.$accessToken;
	}

	protected function getCache()
	{
		return Application::getInstance()->getManagedCache();
	}
}