Использование приложения Phonegap / Cordova JS и MS ADAL JS. Как перенаправить URI в настоящий мобильный? - PullRequest
0 голосов
/ 07 января 2019

Я разрабатываю веб-приложение с использованием Phonegap / Cordova и для аутентификации: Adal.js (библиотека аутентификации Active Directory для JavaScript). Использование компонентов DevExtreme для пользовательского интерфейса.

В Browser Simulator он работает нормально, но когда я генерирую .apk и устанавливаю на мобильное устройство Android, не работает. Проблема заключается в перенаправлении Uri, в портале Azure -> Регистрация приложений, я настраиваю URL-адрес ответа: https:localhost:port/index.html, но в приложении для Android (в данном случае в приложении Cordova) мне нужно настроить его на что-то вроде: file://android_asset/index.html. Но не работает.

Есть ли способ заставить его работать?

var microsoftAuthenticationParameters = {
        clientId: "myClientID",
        tenantId: "myTenantID",
        popUp: true,
        redirectUri: window.location.href + '/index.html',
        endpoints: { "aisApiUri": "myClientID" },
        cacheLocation: "localStorage"
    }

    function authenticate() {

        authContext = new AuthenticationContext(microsoftAuthenticationParameters);

        var isCallback = authContext.isCallback(window.location.hash);
        if (isCallback) {
            authContext.handleWindowCallback();
        }

        if (isCallback && !authContext.getLoginError()) {
            window.location = authContext._getItem(authContext.CONSTANTS.STORAGE.LOGIN_REQUEST);
        }
        else {
            authContext.getLoginError();
        }

        var user = authContext.getCachedUser();

        if (user) {
            userInfo = user.userName;
            var username = userInfo.split("@");            
        }
        else {
            authContext.login();
        }

    }

1 Ответ

0 голосов
/ 08 января 2019

ADAL не предназначен для работы в Кордове. Однако есть плагин Cordova, который вы можете использовать для настройки AAD-аутентификации. Ссылка: Аутентификация Azure ADAL для приложения Cordova Руководство Кроме того, я бы посоветовал вам проверить действия, указанные в приведенном ниже документе, для добавления аутентификации в ваше приложение Cordova. Добавить аутентификацию в приложение

В Stackoverflow есть несколько хороших путей решения этой проблемы, которую вы описали, а также несколько полезных примеров на Github. Установка действительного uri Azure AD для PhoneGap

...