Я создал приложение, в котором для реагирования на AD вход в систему используются response-redux и реагировать-aad-msal . Я могу войти и выйти без проблем, но после того, как пользователь вошел в систему, я хочу вызвать вызов API для извлечения данных из API. Я не уверен, как вызвать это действие как при ручном, так и при принудительном входе в систему с использованием компонента AzureAD и требуемого authProvider.
В данный момент я добавил вызов в свой компонент индекса в функцию componentDidMount для вызова API для получения данных, но если пользователь отсутствует на странице индекса и обновляет страницу, приложение разрывается, поскольку вызов API не запускается после завершения входа в AD.
Я не хочу чтобы вызвать вызов в моем редукторе аутентификации, который, я думаю, был бы анти-паттерном в отношении Redux и как он должен использоваться.
Как я могу подключиться к действиям "AAD_LOGIN_SUCCESS" или "AAD_INITIALIZED" так что мой вызов API всегда запускается после входа в систему и, таким образом, избегает добавления logi c в мои компоненты?
Это в основном то, что у меня есть в данный момент, и это работает, но не если вы находитесь на / some или нажмите refre sh, поскольку это не вызовет вызов API.
Приложение. js
...
<Router>
<Header />
<AzureAD provider={ authProvider } reduxStore={ reduxStore } forceLogin={ true }>
<Switch>
<Route exact path="/">
<EnvironmentsOverview />
</Route>
<Route path="/some-other-page">
<SomeOtherPage />
</Route>
<Route path="*">
<NotFound />
</Route>
</Switch>
</AzureAD>
</Router>
...
EnvironmentsOverv т. js
...
export class EnvironmentsOverview extends Component {
componentDidMount() {
this.props.getSystemsAndEnvironments();
}
render() {
...
}
}
...