Виджет для услуги «Взаиморасчеты с государством»
Размещение кода встраивания виджета производится типовым для Открытой Платформы Госуслуг способом. Для встраивания виджета на портал необходимо подключить библиотеку виджетов на страницу портала и вызвать javascript-функцию «rooxWidgetStart», указав необходимые параметры запроса.
Параметры функции rooxWidgetStart для виджета
Типовые параметры
Следующие параметры являются общими для виджетов Открытой платформы:
Параметр
|
Обязательность
|
Назначение
|
features_loaded
|
Нет
|
Указывается значение 'org.jquery.core-1.7.2', если на странице уже присутствует библиотека jquery. Если библиотека на странице не используется, то параметр можно не указывать.
|
st: "esia_1.0_"
|
Нет
|
в параметре указать маркер доступа ЕСИА, выданный пользователю (указывается только для renderType: 'inline')
|
rt: "esia_1.0_"
|
Да
|
в параметре указать маркер доступа ЕСИА, выданный на систему
|
Пользовательский и системный токены
При вызове виджетов, портал должен передать в параметры функции rooxWidgetStart пользовательский и системный токен ЕСИА:
Системный токен (маркер доступа ЕСИА, выданный на систему) должен содержать scope http://sf.gosuslugi.ru/sf_api
Пользовательский токен (маркер доступа ЕСИА, выданный пользователю) должен содержать scopе http://sf.gosuslugi.ru/data, а также набор атомарных scope, соответствующие запрашиваемой посредством виджета услуге.
Для услуги, описанной в данной инструкции, требуется следующий набор атомарных scope:
fullname;
birthdate;
inn;
drivers_licence_doc;
vehicles.
Код встраивания виджета для тестового контура (inline)
="https://widget-svcdev.test.gosuslugi.ru/widgets/res/js/embed/addwidget-1.2.5.min.js">
="mutual-settlements">
подключение скрипта addwidget, который регистрирует функцию rooxWidgetStart для CSI-встраивания;
скрипт, содержащий функции для авторизации (переписывает метод com.rooxteam.auth.requestAuthentification), код должен добавляться на страницу после загрузки виджета, можно вынести в отдельный файл или вписать внутри кода встраивания;
элемент, в который будет встроен виджет;
путь к дескриптору виджета;
параметры запроса;
параметры авторизации (где – токен, полученный при авторизации пользователя через ЕСИА, – токен, полученный при авторизации системы);
обработка ошибки загрузки (на стороне портала).
Код встраивания виджета для тестового контура (iframe)
="https://widget-svcdev.test.gosuslugi.ru/widgets/res/js/embed/addwidget-1.2.5.min.js">
="mutual-settlements">
подключение скрипта addwidget, который регистрирует функцию rooxWidgetStart для CSI-встраивания;
скрипт, содержащий функции для авторизации (переписывает метод com.rooxteam.auth.requestAuthentification), код должен добавляться на страницу после загрузки виджета, можно вынести в отдельный файл или вписать внутри кода встраивания;
элемент, в который будет встроен виджет;
путь к дескриптору виджета;
параметры запроса;
параметры авторизации ( – токен, полученный при авторизации системы);
обработка ошибки загрузки (на стороне портала);
Изменение стилей виджета ( – путь до файла со стилями).
Код встраивания виджета для продуктивного контура (inline)
="https://widget.gosuslugi.ru/widgets/res/js/embed/addwidget-1.2.5.min.js">
="mutual-settlements">
подключение скрипта addwidget, который регистрирует функцию rooxWidgetStart для CSI-встраивания;
скрипт, содержащий функции для авторизации (переписывает метод com.rooxteam.auth.requestAuthentification), код должен добавляться на страницу после загрузки виджета, можно вынести в отдельный файл или вписать внутри кода встраивания;
элемент, в который будет встроен виджет;
путь к дескриптору виджета;
параметры запроса;
параметры авторизации (где – токен, полученный при авторизации пользователя через ЕСИА, – токен, полученный при авторизации системы);
обработка ошибки загрузки (на стороне портала).
Код встраивания виджета для продуктивного контура (iframe)
="https://widget.gosuslugi.ru/widgets/res/js/embed/addwidget-1.2.5.min.js">
="mutual-settlements">
подключение скрипта addwidget, который регистрирует функцию rooxWidgetStart для CSI-встраивания;
скрипт, содержащий функции для авторизации (переписывает метод com.rooxteam.auth.requestAuthentification), код должен добавляться на страницу после загрузки виджета, можно вынести в отдельный файл или вписать внутри кода встраивания;
элемент, в который будет встроен виджет;
путь к дескриптору виджета;
параметры запроса;
параметры авторизации ( – токен, полученный при авторизации системы);
обработка ошибки загрузки (на стороне портала);
Изменение стилей виджета ( – путь до файла со стилями).
Переопределение действия кнопки «Войти»
При неавторизованном состоянии виджета отображается ссылка "Войти", при помощи которого происходит запрос авторизации на ЕСИА. По умолчанию, нажатие на ссылку "Войти" инициирует авторизацию пользователя на ЕСИА от лица Открытой платформы. Для переопределения действия ссылки «Войти», можно использовать инструкцию ниже. Инструкция являетcя типовой для виджетов Открытой платформы госуслуг:
Для запроса авторизации используется JavaScript функция com.rooxteam.auth.requestAuthentification, которая реализована в js файле:
где https://gu-st.ru/content/partners/authKey.js - это код, который необходимо реализовать на стороне портала. Минимально необходимый код:
/*global shindig, gadgets, window */
var com = com || {};
com.rooxteam = com.rooxteam || {};
com.rooxteam.auth = com.rooxteam.auth || {};
com.rooxteam.auth.getSecurityToken = function (devPrefix) {
var token = shindig.auth.getSecurityToken();
if (!token) {
return token;
}
return devPrefix ? 'esia_1.0_' + token : token;
};
com.rooxteam.auth.getSystemToken = function (devPrefix) {
var trusted = shindig.auth.getTrustedData(),
token = trusted && trusted.systemToken;
if (!token) {
return token;
}
return devPrefix ? 'esia_1.0_' + token : token;
};
// необходимо заменить authUrl и добавить свою логику, если необходимо
com.rooxteam.auth.requestAuthentification = function () {
var authUrl = 'http://example.com'; // некоторый URL
authUrl += '?';
authUrl += 'redirectto=' + encodeURIComponent(window.top.location.href);
authUrl += '&byesia=true';
try {
window.top.location.href = authUrl;
}
catch (e) {}
};
Измененный код необходимо подключить вместо https://gu-st.ru/content/partners/authKey.js функция com.rooxteam.auth.requestAuthentification будет вызвана при нажатии кнопки «Войти».
Требования к поисковой и навигационной доступности при размещении виджета
Виджет должен быть размещен в соответствии с требованиями к реализации навигации, поиска и предоставления информации о государственных услугах документа «Методические рекомендации по совершенствованию пользовательских интерфейсов федеральной государственной информационной системы «Единый портал государственных и муниципальных услуг (функций)» и официальных сайтов федеральных органов исполнительной власти и государственных внебюджетных фондов, используемых при предоставлении государственных услуг в электронном виде», утвержденным приказом Минкомсвязи России от 16.10.2015 г. № 405 и размещенном на сайте Минкомсвязи России по адресу: http://minsvyaz.ru/ru/documents/4820/
В частности:
-
виджет должен быть размещен в каталоге государственных услуг партнерского портала при его наличии в разделах:
Штрафы, задолженности, оплата;
Налоги, финансы;
допускается размещение виджета в разделе, связанном с государственными услугами либо иными интерактивными сервисами (если партнерский интернет-портал не имеет соответствующего каталога государственных услуг). При этом обязательно должны быть соблюдено обозначение бренда Госуслуг в интерфейсном отображении виджета путем размещения логотипа/брендирования отдельного раздела при размещении нескольких виджетов;
виджет должен быть размещен в разделе популярных услуг (при наличии) и/или на главной странице в период сезонного увеличения популярности услуги (летний период).
должна быть обеспечена поисковая доступность страниц размещения/перехода к виджету.
|