Kaynağa Gözat

add refresh token method in auth service

pull/342/head
Guillaume Vincent 8 yıl önce
ebeveyn
işleme
c97f2f97c3
2 değiştirilmiş dosya ile 19 ekleme ve 0 silme
  1. +8
    -0
      src/api/auth.js
  2. +11
    -0
      test/auth.js

+ 8
- 0
src/api/auth.js Dosyayı Görüntüle

@@ -46,6 +46,14 @@ export default class Auth {
});
}

refreshToken() {
const config = this.storage.json();
const token = this.storage.getToken();
return Auth._requestNewToken({token: token.name}, config).then(token => {
this.storage.saveToken(token)
})
}

static _requestNewToken(token, config = {}) {
return axios.post('/api/tokens/refresh/', token, config).then(response => {
return response.data.token;


+ 11
- 0
test/auth.js Dosyayı Görüntüle

@@ -84,3 +84,14 @@ test('login custom endpoint', t => {
t.is(JSON.parse(storage.getItem(LOCAL_STORAGE_KEY)).jwt, token);
});
});

test('refresh token', t => {
const token = '3e3231';
const storage = new LocalStorageMock();
const auth = AuthFactory(token, storage);
const newToken = 'wibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9eyJzdWIiOiIxMjM0NTY3ODkwIi';
nock('https://lesspass.com').post('/api/tokens/refresh/', {token}).reply(200, {token: newToken});
return auth.refreshToken().then(() => {
t.is(JSON.parse(storage.getItem(LOCAL_STORAGE_KEY)).jwt, newToken);
});
});

Yükleniyor…
İptal
Kaydet