cordoava-plugin-inAppBrowser с авторизацией для iOS - PullRequest
0 голосов
/ 17 февраля 2020

Для приложения ioni c 4 мне нужно расширить плагин Cordova "InAppBrowser" для iOS. Я уже сделал это для Android, но я не могу сделать то же самое с iOS частью этого плагина.

При открытии указанного URL я хочу выполнить базовую c аутентификацию. Имя пользователя и пароль должны быть проанализированы из URL-адреса или загружены из некоторых переменных, которые я предоставлю методу inappbrowser.create.

Мое быстрое и грязное решение для этого в android заключается в следующем:

В InAppBrowser. java

Log.d("theUrlFromIonic", view.getUrl());

    if(view.getUrl().contains("?auth=")) {
        String UserName = null;
        String Password = null;
        String[] params = view.getUrl().split("=");

        byte[] decodedBytes = Base64.getDecoder().decode(params[1]);
        String decodedString = new String(decodedBytes);
        Log.d("theUrlFromIonic decod",decodedString);
        String[] values = decodedString.split(":");
        String user = values[0];
        String pw = values[1];
        UserName = user;
        Password = pw;

        Log.d("theUrlFromIonic user", user);
        Log.d("theUrlFromIonic pw", pw);

        if (UserName != null && Password!= null) {
            handler.proceed(UserName, Password);
            return;
        }
    }

В файле ioni c я открываю браузер так:

const base64Auth = btoa(item.userName + ':' + item.password);
const url = 'https://myfancyurl.com?auth=' + base64Auth;
const target = '_self';
const options = 'location=yes';
const browser = this.iab.create(url, target, options);

Но сейчас я пытаюсь достичь это или что-то подобное для iOS. Кто-нибудь может мне помочь?

...