• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/odnoklassniki.php
  • Класс: COdnoklassnikiInterface
  • Вызов: COdnoklassnikiInterface::GetAccessToken
public function GetAccessToken($redirect_uri)
{
	if($this->code === false)
		return false;

	$result = CHTTP::sPostHeader(self::TOKEN_URL, array(
		"code"=>$this->code,
		"client_id"=>$this->appID,
		"client_secret"=>$this->appSecret,
		"redirect_uri"=>$redirect_uri,
		"grant_type"=>"authorization_code",
	), array(), $this->httpTimeout);

	$arResult = CUtil::JsObjectToPhp($result);

	if(isset($arResult["access_token"]) && $arResult["access_token"] <> '')
	{
		$this->access_token = $arResult["access_token"];
		$_SESSION["OAUTH_DATA"] = array("OATOKEN" => $this->access_token);
		if(isset($arResult["refresh_token"]) && $arResult["refresh_token"] <> '')
		{
			$this->refresh_token = $arResult["refresh_token"];
			$_SESSION["OAUTH_DATA"]["REFRESH_TOKEN"] = $this->refresh_token;
		}

		$arguments = array();
		$arguments["application_key"] = $this->appKey;
		$arguments['method'] = 'users.getCurrentUser';
		ksort($arguments);
		$this->sign = mb_strtolower(md5('application_key='.$arguments["application_key"].'method='.$arguments['method'].md5($this->access_token.$this->appSecret)));
		return true;
	}
	return false;
}