Skip to content

AktivCo/rutoken-plugin-js

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 

Модуль для Рутокен плагин

Модуль позволяет узнать, возможна ли работа с плагином Рутокен и загрузить его.

Для работы с модулем в Internet Explorer необходимо воспользоваться polyfill, предоставляющим интерфейс ECMAScript Promise (например es6-promise-polyfill).

Установка

npm install @aktivco/rutoken-plugin

Пример использования

window.onload = function () {
    rutoken.ready.then(function () {
        const isFirefox = !!window.navigator.userAgent.match(/firefox/i) && !window.navigator.userAgent.match(/seamonkey/i);

        if (window.chrome || isFirefox) {
            return rutoken.isExtensionInstalled();
        } else {
            return Promise.resolve(true);
        }
    }).then(function (result) {
        if (result) {
            return rutoken.isPluginInstalled();
        } else {
            throw "Rutoken Extension wasn't found";
        }
    }).then(function (result) {
        if (result) {
            return rutoken.loadPlugin();
        } else {
            throw "Rutoken Plugin wasn't found";
        }
    }).then(function (plugin) {
    	//Можно начинать работать с плагином

    	//Только для работы через старый интерфейс плагина
        return plugin.wrapWithOldInterface();
    }).then(function (wrappedPlugin) {
        //Можно начинать работать через старый интерфейс плагина
    }).then(undefined, function (reason) {
        console.log(reason);
    });
}

API

Свойства

  • ready -> Promise

Свойство типа Promise. Оно будет разрешено, когда закончится инициализация модуля.

Функции

Модуль содержит следующие функции:

  • isExtensionInstalled() -> Promise(bool)

Функция позволяет узнать, установлено ли расширение для браузеров Chromium или Firefox. В зависимости от этого возвращенный promise будет разрешен со значением true(установлен)/false(не установлен).

  • isPluginInstalled() -> Promise(bool)

Функция позволяет узнать, установлен ли Рутокен плагин. В зависимости от этого возвращенный promise разрешается значением true(установлен)/false(не установлен)

  • loadPlugin() -> Promise(rutokenPlugin)

Функция позволяет загрузить Рутокен плагин. Возвращенный promise будет разрешен объектом плагина, готовым к использованию.

Кроме того, для совместимости с сайтами, использовавшими более ранние версии Рутокен плагина, модуль добавляет в плагин функцию:

  • wrapWithOldInterface() -> Promise(rutokenPlugin)

Функция позволяет получить объект Рутокен плагина, с которым можно взаимодействовать через старый интерфейс, основанный на successCallback и errorCallback. Данная функция предназначена только для обеспечения совместимости, мы настоятельно рекомендуем использовать новый интерфейс с promise.

Лицензия

Исходный код распространяется под лицензией Simplified BSD. См. файл LICENSE в корневой директории проекта.

About

Модуль позволяет узнать, возможна ли работа с плагином Рутокен и загрузить его.

Resources

License

Stars

Watchers

Forks

Packages

No packages published