17 if (!\CModule::includeModule(
'mail'))
23 $mailOAuth = OAuth::getInstanceByMeta(
$config->getPassword());
26 $token = $mailOAuth->getStoredToken(
null, $expireGapSeconds);
30 self::setCloudOAuthRefreshDataToConfig(
$config, $mailOAuth);
36 $token = OAuth::getTokenByMeta(
$config->getPassword(), $expireGapSeconds);
53 $default = isModuleInstalled(
'bitrix24') ? 55 * 60 : 10;
55 return (
int)Option::get(
'main',
'~oauth_token_expire_gap_seconds', $default);
58 private function setCloudOAuthRefreshDataToConfig(
Config $config,
OAuth $mailOAuth): void
60 if (!isModuleInstalled(
'bitrix24'))
65 if (Option::get(
'main',
'~cloud_refresh_enabled',
'Y') ===
'N')
71 if (!is_object($oauthEntity) || !method_exists($oauthEntity,
'getTokenData'))
76 $tokenData = $oauthEntity->getTokenData();
77 if (!is_array($tokenData) || empty($tokenData[
'refresh_token']) || empty($tokenData[
'expires_in']))
82 $expires = self::isTestCloudTokenExpiredMode() ? 0 : (int)$tokenData[
'expires_in'];
83 $config->setCloudOAuthRefreshData(
new CloudOAuthRefreshData(
$config->getPassword(), $expires));
86 private function isTestCloudTokenExpiredMode(): bool
88 return Option::get(
'main',
'~oauth_expired_refresh',
'N') ===
'Y';
prepareBeforeSendIfNeed(Config $config)