Категории статей: Identity Essentials > Инструкции

Настройка Identity Essentials для отправки SMS через веб-шлюз

Один из способов доставки одноразовых паролей в Identity Essentials - это использование сторонней веб-службы (шлюза). Такие услуги предлагают как традиционные операторы мобильной связи, так и множество небольших поставщиков услуг. Identity Essentials сможет работать с таким шлюзом, если он предоставляет доступ по протоколу HTTP с запросами GET или POST.

Рассмотрим процедуру настройки Identity Essentials, взяв для примера веб-сервис SMS.RU. Наша организация никак не связана с данным сервисом: в качестве примера может быть взят любой.

Готовые конфигурации

Вы можете загрузить готовые конфигурации для следующих провайдеров:

Создание конфигурации

В продукте Identity Essentials заложено несколько десятков конфигураций для работы с различными провайдерами, однако большинство из них - американские и западноевропейские. Чаще всего необходимо создать новую конфигурацию для оператора, работающего на российском рынке.

Конфигурация создается в формате XML и хранится в файле Custom.Config.xml в папке C:\Program Files\Entrust\Identity Essentials\Plugins\GenericHttp.

Пример конфигурации для SMS.RU:

<dispatcherprofiles>
<dispatcherprofile>
<name>SMS.RU</name>
<providerid>4333580e-5b67-46b3-b6ea-ee5e3d8c54bf</providerid>
<userparameterdefinitions>
<userparameterdefinition name="APIID">
<maxlength>0</maxlength>
<helptext>API ID at SMS.RU</helptext>
<type>String</type>
<allowemptyvalue>false</allowemptyvalue>
</userparameterdefinition>
</userparameterdefinitions>
<uri>http://sms.ru/sms/send</uri>
<dispatchtypes>
<supporteddispatchtype>
<uri></uri>
<headers></headers>
<method>GET</method>
<type>SMS</type>
<target>PhoneNo</target>
<supportsflash>false</supportsflash>
<messagetype>Any</messagetype>
<parametersnormal>
<textelement>api_id=</textelement>
<userparameter name="APIID"></userparameter>
<textelement>&amp;to=[TARGET]&amp;msg=[TEXT]</textelement>
</parametersnormal>
<messagetransformations></messagetransformations>
</supporteddispatchtype>
</dispatchtypes>
</dispatcherprofile>
</dispatcherprofiles>

Детальное описание создания конфигурации для провайдера выходит за рамки данной статьи, и чаще всего клиенты обращаются в нашу службу поддержки для помощи в настройке. Однако простейшие конфигурации может создать ИТ-специалист, не знакомый с программированием.

Далее прокомментируем самые важные разделы конфигурации:

Name - произвольное имя

Provider Id - новый идентификатор типа GUID, который можно создать любым доступным (бесплатным) инструментом.

Раздел User parameter definition используется для создания интерфейса для ввода параметров конфигурации. Чаще всего это пароль или другая текстовая информация, которую нужно передавать провайдеру для подтверждения права на отправку SMS. В нашем примере SMS.RU требует передачи специального уникального набора символов - API ID в каждом запросе. Для этого мы создали раздел в интерфейсе Identity Essentials, где его можно будет ввести и менять (без изменения самой конфигурации). Имя данного параметра APIID, и он будет использован в дальнейшем для формирования HTTP запроса.

URI - адрес, по которому провайдер принимает запросы.

Раздел ParametersNormal содержит информацию для формирования запроса с учетом динамических параметров. Фактически здесь мы задаем параметры, которые будут добавляться к адресу сервиса (URI). 

В нашем случае мы передаем параметр api_id, значением которого задается в интерфейсе и хранится в переменной под именем APIID. Далее в запросе мы передаем параметры TARGET, содержащий номер мобильного телефона, куда отправляется SMS, и TEXT - это содержание SMS, которое можно менять в настройках Identity Essentials (например: "Ваш одноразовый код: XYZ").

В итоге HTTP запрос будет выглядеть примерно так: 
http://sms.ru/sms/send?api_id=xyz&to=790311111111&msg=ваш_код_XYZ

Применение конфигурации

После того, как конфигурационный XML файл создан, его следует поместить в папку C:\Program Files\Entrust\Identity Essentials\Plugins\GenericHttp и перезапустить системные службы Identity Essentials.

Теперь в настройках Identity Essentials можно указать, что SMS должны отправляться именно через данного оператора. Сделать это можно следующим образом:

  1. В веб-интерфейсе администрирования откройте страницу Transmission > Dispatch Connectors для вывода списка имеющихся коннекторов. Если вы только что установили продукт, то страница будет выглядеть примерно так:

    Список доступных коннекторов

  2. Нажмите на кнопку Add new dispatch connector для добавления нового коннектора.
  3. У каждого коннектора свой набор параметров, которые зависят от конфигурации. В нашей конфигурации мы указали, что для работы требуется указание API ID, поэтому при настройке нашего коннектора нужно не только задать ему имя, например SMS RU, но также и API ID:

    Редактирование параметров коннектора

  4. Теперь необходимо отредактировать политику отправки сообщений и указать там новый коннектор. Для этого откройте страницу Policies -> Dispatch policies и нажмите на кнопку Edit в отношении единственного правила по умолчанию:

    Список политик отправки сообщений

  5. В открывшемся окне перейдите на вкладку Dispatch Policy Rules и нажмите на кнопку Edit для единственного правила по умолчанию:

    Редактирование правила по умолчанию

  6. При редактировании правила перейдите на вкладку Dispatch Settings и выберите провайдер для отправки SMS - SMS.RU:

    Выбор провайдера для отправки SMS

После выполнения этих действий отправка SMS будет осуществляться через выбранного вами провайдера.