Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Устанавливаем Рутокен Плагин
  2. Меняем загрузчик плагина на нужный нам.
    Заменяем на страницах или в вашей системе сборки скрипт rutokenweb.js на rutoken.js.
    https://www.npmjs.com/package/rutoken
    Оба скрипта используют Promise. Если у вас уже был установлен и работал (в ie) rutokenweb.js, то зависимость уже есть, но проверить стоит. Если нет, установите скрипт для работы с промисами, например этот https://github.com/jakearchibald/es6-promise
  3. Используем модуль проверки совместимости плагина и браузера 
    https://www.npmjs.com/package/rutoken-browser-check. Опционально, позволяет удобно локализовать проблемы при инициализации. У скрипта есть зависимость- https://www.npmjs.com/package/bowser
  4. Меняем логику инициализации работы с плагином. Вынес в отдельный файл boot.js, чтобы не копипастить. Подключим его на всех страницах, где нужно, уберем лишние переменные, удалим функцию token_refresh из подписки на onload страницы.
    В общем случае, плагин получается в финальном resolve цепочки промисов, где мы передаем его конструктору нашей обертки вместе с методом получения пин-кода. Этот метод нужен, чтобы эмулировать отображение окна со списком логинов и обработать выбор конкретного id. Возвращает промис с id устройства и pin-кодом, введенным пользователем.
    Все ошибки инициализации прилетают в reject промиса. Ошибки от плагина прилетают другие, поэтому места, где они обрабатывались, так же нужно поправить.
  5. Используем обертку над плагином rtwToCrypto.js.
    Код обертки: https://github.com/blade-runner/rutokenweb-to-plugin 
    Мы подменяем методы рутокенвэб на нужные нам, таким образом сигнатуры сохраняются и ваш код работает, как и работал, но с новым плагином и всеми устройствами Рутокен.

...