Как открыть безопасные настройки телефона Android с моим приложением ionic 2?

Я использую Ionic 2 и плагин secureStorage. Проблема в том, что в Android устройство должно быть защищено кодом, чтобы использовать безопасное хранилище.

В документации это есть:

var ss;
var _init = function () {
    ss = new cordova.plugins.SecureStorage(
        function () {
            console.log('OK');
        },
        function () {
            navigator.notification.alert(
                'Please enable the screen lock on your device. This app cannot operate securely without it.',
                function () {
                    ss.secureDevice(
                        function () {
                            _init();
                        },
                        function () {
                            _init();
                        }
                    );
                },
                'Screen lock is disabled'
            );
        },
        'my_app');
};
_init();

Но я использую не ionic 1, а ionic 2. Как вызвать метод secureDevice?

Я делаю что-то вроде:

this.secureStorage.create('myStorage')
                .then((storage: SecureStorageObject) => {
                    storage.set('var', 'toto')
                        .then(
                        () => console.log('ok),
                        (e) => console.log('error');
                        );
                }).catch((err) => {
                    console.error('The device is not secured');
                })

Я могу обнаружить, что устройство не защищено. Но как добавить рядом с моим console.err вызов метода secureDevice?

Документация: https://ionicframework.com/docs/native/secure-storage/

7 голосов | спросил anubis 24 Maypm17 2017, 14:04:29

1 ответ


0

Эта проблема была поднята и исправлена ​​, поэтому вы можете использовать последняя версия @ionic-native/SecureStorage.

Если вам не удалось обновить родную ионную оболочку, читайте дальше .

Кажется, что функция

secureDevice не добавлена ​​в оболочка ionic-native , хотя она доступна в плагин cordova .

Вы могли подумать об использовании плагина cordova без оболочки.

ionic cordova plugin add cordova-plugin-secure-storage --save

Сразу после импорта и перед классом объявите объект.

declare var cordova:any;

И используйте плагин api в платформе, готовой ().

this.platform.ready().then(() =>{
   this.ss =  new cordova.plugins.SecureStorage(
() => { console.log('Success')},
(error) => { 
   console.log('Error ' + error);
   //call here..
   this.ss.secureDevice(()=>{},()=>{});
 },
'myStorage');
});
ответил Suraj Rao 30 Mayam17 2017, 07:40:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132