• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/user.php
  • Класс: BitrixMailUser
  • Вызов: User::onLoginExternal
static function onLoginExternal(&$params)
{
	$context = MainApplication::getInstance()->getContext();
	$request = $context->getRequest();

	if ($token = $request->get('token') ?: $request->getCookie('MAIL_AUTH_TOKEN'))
	{
		$userRelation = UserRelationsTable::getList(array(
			'select' => array('USER_ID'),
			'filter' => array(
				'=TOKEN'                 => $token,
				'=USER.EXTERNAL_AUTH_ID' => 'email',
				'USER.ACTIVE'            => 'Y'
			)
		))->fetch();

		if ($userRelation)
		{
			$context->getResponse()->addCookie(new MainWebCookie('MAIL_AUTH_TOKEN', $token));

			return $userRelation['USER_ID'];
		}
	}

	return false;
}