“Token de atualização automática (retorno de chamada)” Respostas de código

Token de atualização automática (retorno de chamada)

function refreshToken(store, cb) {
    if (store.state.auth.isRefreshing) {
        const chained = store.state.auth.refreshingCall.then(cb);
        store.commit('auth/setRefreshingCall', chained);
        return chained;
    }
    store.commit('auth/setRefreshingState', true);
    const refreshingCall = Axios.get('get token').then(({ data: { token } }) => {
        store.commit('auth/setToken', token)
        store.commit('auth/setRefreshingState', false);
        store.commit('auth/setRefreshingCall', undefined);
        return Promise.resolve(token);
    }).then(cb);
    store.commit('auth/setRefreshingCall', refreshingCall);
    return refreshingCall;
}
Inquisitive Ibis

Token de atualização automática (retorno de chamada)

Axios.interceptors.response.use(response => response, error => {
    const status = error.response ? error.response.status : null

    if (status === 401) {

        return refreshToken(store, _ => {
            error.config.headers['Authorization'] = 'Bearer ' + store.state.auth.token;
            error.config.baseURL = undefined;
            return Axios.request(error.config);
        });
    }

    return Promise.reject(error);
});
Inquisitive Ibis

Respostas semelhantes a “Token de atualização automática (retorno de chamada)”

Perguntas semelhantes a “Token de atualização automática (retorno de chamada)”

Mais respostas relacionadas para “Token de atualização automática (retorno de chamada)” em JavaScript

Procure respostas de código populares por idioma

Procurar outros idiomas de código