Невозможно использовать localStorage в качестве расположения кэша в приложении React Native. - PullRequest
0 голосов
/ 01 ноября 2019

Я разрабатываю приложение React Native с expo-cli. Я использую ADFS для аутентификации пользователей в приложении, и, в частности, я использую MSAL.js. У меня работает аутентификация в сети, но я не могу запустить приложение на iOS или Android. Я получаю сообщение об ошибке: «Указанное расположение кэша недопустимо. Предоставленное значение: localStorage. Возможные значения: localStorage, sessionStorage.»

Я пытался использовать sessionStorage вместо localStorage, но я просто получаюта же ошибка, за исключением того, что она сообщает, что предоставленное значение было sessionStorage.

Я нашел поток, где у кого-то также была похожая проблема, здесь: MSAL UserAgentApplication: локальное хранилище не работает . Я попробовал обходной путь, но затем я получаю сообщение об ошибке: «undefined не является конструктором (оценивая 'new Msal.Storage (" localStorage ")')".

Если я пытаюсь вызвать Msal.Storage ("localStorage"), он говорит мне, что msal.Storage не является функцией.

Я также попытался явно передать значения функции UserAgentApplication из моей конфигурации, а не передавать саму конфигурацию:

var myMSALObj = new Msal.UserAgentApplication(msalConfig.auth.clientId, msalConfig.auth.authority, msalConfig.auth.redirectURI, { cacheLocation: 'localStorage' });

Вот фрагмент кода, в котором, как мне кажется, проблема заключается в следующем:

const msalConfig = {
    auth: {
        clientId: "<client-Id>",
        authority: "<authority>",
        redirectURI: "http://localhost:19006"
    },
    cache: {
        cacheLocation: "localStorage",
        storeAuthStateInCookie: true
    }
};

//new Msal.Storage("localStorage");
var myMSALObj = new Msal.UserAgentApplication(msalConfig);

Я ожидаю, что вызов UserAgentApplication правильно использует localStorage в качестве кэша на iOS и Android, но это не такпохоже дело в этом. Приложение отлично работает в моем браузере на моем ноутбуке, однако, без каких-либо сбоев кэша / localStorage. Есть ли обходные пути / исправления для этого, которые не требуют Msal.Storage? Любая помощь очень ценится!

...