• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/office365.php
  • Класс: CSocServOffice365OAuth
  • Вызов: CSocServOffice365OAuth::prepareUser
public function prepareUser($office365User)
{
	$email = $first_name = $last_name = "";
	$login = "Office365".$office365User['id'];
	$uId = $office365User['id'];

	if($office365User['givenName'] <> '')
	{
		$first_name = $office365User['givenName'];
	}

	if($office365User['surname'] <> '')
	{
		$last_name = $office365User['surname'];
	}

	if($office365User['mail'] <> '')
	{
		$email = $office365User['mail'];
		$login = $office365User['mail'];
	}

	$arFields = array(
		'EXTERNAL_AUTH_ID' => self::ID,
		'XML_ID' => $uId,
		'LOGIN' => $login,
		'EMAIL' => $email,
		'NAME'=> $first_name,
		'LAST_NAME'=> $last_name,
	);

	$arFields["PERSONAL_PHONE"] = $office365User["telephoneNumber"];

	if(isset($office365User['access_token']))
	{
		$arFields["OATOKEN"] = $office365User['access_token'];
	}

	if(isset($office365User['refresh_token']))
	{
		$arFields["REFRESH_TOKEN"] = $office365User['refresh_token'];
	}

	if(isset($office365User['expires_in']))
	{
		$arFields["OATOKEN_EXPIRES"] = time() + $office365User['expires_in'];
	}

	if(SITE_ID <> '')
	{
		$arFields["SITE_ID"] = SITE_ID;
	}

	$arFields["PERMISSIONS"] = serialize(array(
		"tenant" => $office365User["tenant"],
	));

	return $arFields;
}