• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/liveid.php
  • Класс: WindowsLiveLogin
  • Вызов: WindowsLiveLogin::validateToken
function validateToken($token, $signkey=null)
{
	if (!$signkey) {
		$signkey = $this->_signkey;
	}
	if (!$token) {
		$this->debug("Error: validateToken: Invalid token.");
		return;
	}

	$split = explode("&sig=", $token);
	if (count($split) != 2) {
		$this->debug("ERROR: validateToken: Invalid token: $token");
		return;
	}
	list($body, $sig) = $split;

	$sig = $this->u64($sig);
	if (!$sig) {
		$this->debug("Error: validateToken: Could not extract signature from token.");
		return;
	}

	$sig2 = $this->signToken($body, $signkey);
	if (!$sig2) {
		$this->debug("Error: validateToken: Could not generate signature for the token.");
		return;
	}


	if ($sig == $sig2) {
		return $token;
	}

	$this->debug("Error: validateToken: Signature did not match.");
	return;
}