Обновите токен JWT без приведения и используйте контекст - PullRequest
2 голосов
/ 21 октября 2019

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

import { refreshToken, refreshTokenFail } from '../actions/index';

const jwtTokenRefresh = ({ dispatch, getState }) => next => action => {
    if (typeof action === 'function') {
        const timeStamp = Math.floor(Date.now() / 1000);
        const expiration = getState().auth.expiration;
        if (expiration && timeStamp > expiration && !getState().auth.refreshToken) {
            return refreshToken(dispatch)
                .then(() => {
                    return next(action)
                }).catch(() => {
                    console.log('fail')
                    dispatch(refreshTokenFail(dispatch)).then(() =>{
                        window.location.href= "/login";
                    })
                });
        }
    }

    return next(action);
};

export default jwtTokenRefresh;

Но теперь я хочу написать новое приложение реакциибез редукса и использования с react context, как я могу обновить токен в контексте реакции?

...