- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/classes/general/box.php
- Класс: CSocServBoxAuth
- Вызов: CSocServBoxAuth::getStorageToken
public function getStorageToken()
{
$accessToken = null;
$userId = intval($this->userId);
if($userId > 0)
{
$dbSocservUser = BitrixSocialservicesUserTable::getList([
'filter' => ['=USER_ID' => $userId, "=EXTERNAL_AUTH_ID" => static::ID],
'select' => ["USER_ID", "OATOKEN", "REFRESH_TOKEN", "OATOKEN_EXPIRES"]
]);
if($arOauth = $dbSocservUser->fetch())
{
$accessToken = $arOauth["OATOKEN"];
$accessTokenExpires = $arOauth["OATOKEN_EXPIRES"];
$entityOauth = $this->getEntityOAuth();
$entityOauth->setToken($accessToken);
$entityOauth->setAccessTokenExpires($accessTokenExpires);
if($entityOauth->checkAccessToken())
{
return $accessToken;
}
elseif(isset($arOauth["REFRESH_TOKEN"]))
{
if($entityOauth->getNewAccessToken($arOauth["REFRESH_TOKEN"], $arOauth["USER_ID"],true))
{
return $entityOauth->getToken();
}
}
}
}
return $accessToken;
}