react-aad-msal очищает локальное хранилище. переходящее состояние вокруг
Итак, я наткнулся на стену за последние 2 дня. Я не играл с ract / front-end почти 2 года, так что, пожалуйста, потерпите меня.
Сценарий:
- загрузка страницы
- бросить материал в localstorage (параметры строки запроса)
- перейти на страницу авторизации входа (используя для этого response-aad-msal)
- вернуться на главную страницу
- попытаться получить данные из localstorage и ключей I' Добавленные ve отсутствуют. Присутствуют токены msal и т. Д.
Среда:
- Chrome
- плагин React для отладки
Неожиданный поворот: это случается случайно. Лучшую часть вчерашнего дня он работал. и затем ключи, которые я добавил, начали выходить из строя. То же самое сегодня утром.
Насколько я понимаю, если я помещаю что-то в localstorage, оно остается там, если его не попросят удалить программным или другим способом.
и так, что здесь происходит?
1 ответ
Хорошо, думаю, я понял. Это должно быть поведение msal - будь то response-aad-msal или фактический msal.js, который он оборачивает. В любом случае, решение оказалось передать строку запроса в параметре состояния наAuthenticationParameters
при создании провайдера полностью исключают проблему локального хранилища.
Я просто передаю строку запроса из компонента:
<AzureAD
provider={authProviderWithState(this.props.queryString)}
reduxStore={this.props.reduxStore}
forceLogin={false}>
Которая потом приклеивается поверх дефолтных
export const authProviderWithState = (state) => {
whichAuthParams.state = state;
return new MsalAuthProvider(whichConfig, whichAuthParams, LoginType.Redirect);
};
Состояние просто добавляется к URL-адресу обратного вызова, используемому конечной точкой авторизации, поэтому он работает так, как мне нужно.