• Модуль: security
  • Путь к файлу: ~/bitrix/modules/security/lib/mfa/otp.php
  • Класс: BitrixSecurityMfaOtp
  • Вызов: Otp::setSkipCookie
protected function setSkipCookie()
{
	/** @global CMain $APPLICATION */
	global $APPLICATION;

	$signer = new TimeSigner();
	$rememberLifetime = $this->getRememberLifetime();
	$rememberLifetime += time();
	$rememberValue = $this->getSkipCookieValue();

	$signedValue = $signer
		->setKey($this->getSecret())
		->sign($rememberValue, $rememberLifetime, 'MFA_SAVE');

	$isSecure = (
		Option::get('main', 'use_secure_password_cookies', 'N') === 'Y'
		&& $this->getContext()->getRequest()->isHttps()
	);

	$APPLICATION->set_cookie(
		static::SKIP_COOKIE, // $name
		$signedValue,        // $value
		$rememberLifetime,   // $time = false
		'/',                 // $folder = "/"
		false,               // $domain = false
		$isSecure,           // $secure = false
		true,                // $spread = true
		false,               // $name_prefix = false
		true                 // $httpOnly = false
	);

	return $this;
}