• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/zoom.php
  • Класс: CSocServZoom
  • Вызов: CSocServZoom::getStorageToken
public function getStorageToken()
{
	$accessToken = null;
	$userId = (int)$this->userId;
	if ($userId > 0)
	{
		$dbSocservUser = BitrixSocialservicesUserTable::getList([
			'filter' => ['=USER_ID' => $userId, '=EXTERNAL_AUTH_ID' => static::ID],
			'select' => ['OATOKEN', 'REFRESH_TOKEN', 'OATOKEN_EXPIRES']
		]);
		if ($arOauth = $dbSocservUser->fetch())
		{
			$accessToken = $arOauth['OATOKEN'];

			if (empty($accessToken) || (((int)$arOauth['OATOKEN_EXPIRES'] > 0) && ((int)($arOauth['OATOKEN_EXPIRES'] < (int)time()))))
			{
				if (isset($arOauth['REFRESH_TOKEN']))
				{
					$this->getEntityOAuth()->getNewAccessToken($arOauth['REFRESH_TOKEN'], $userId, true);
				}

				if (($accessToken = $this->getEntityOAuth()->getToken()) === false)
				{
					return null;
				}
			}
		}
	}

	return $accessToken;
}