У меня возникли проблемы с определением, где хранить мой экземпляр клиента Auth0 со стеком React / Redux / Immutable JS и где разместить управление состоянием. Все примеры используют контекст / хуки.
Я думал об использовании thunk.withArugment, но проблема в том, что createAuth0Client () разрешает asyn c. У кого-нибудь есть пример реализации Auth0 SDK (auth0-spa- js) с React, Redux, Thunk, Immutable JS? Я знаю, что, вероятно, упускаю что-то простое.
Я исследовал часы этой темы c и не смог найти ответ. Я использую SDK, чтобы не хранить токен на клиенте.
Мне нужно иметь возможность получить токен перед всеми вызовами API, чтобы подтвердить, что пользователь зарегистрирован / истек срок действия.
Я изучил HO C, Redux Custom Context и до сих пор не могу понять, что такое правильная реализация.
Updated:
export const isUserAuthenticated = (): ThunkAction<Promise<void>, StoreState, void, Action> =>
async (dispatch: Dispatch, getState: () => StoreState) => {
const auth0Client = await AuthService.createAuthClient();
const isAuthenticated = await AuthService.isAuthenticated();
dispatchActionWithPayload(ActionTypeKeys.IS_AUTHENTICATED, isAuthenticated, dispatch);
if (!isAuthenticated) {
dispatchAction(ActionTypeKeys.LOGIN_REQUIRED, dispatch);
}
};