Edit number 2

This commit is contained in:
saeid_01
2019-04-17 10:01:49 +04:30
parent ee6c36ade3
commit a20768868d
8 changed files with 164 additions and 72 deletions
+2 -2
View File
@@ -62,14 +62,14 @@ const ApiService = {
},
async (error) => {
if (error.request.status == 401) {
if (error.config.url.includes('auth/login')) {
if (error.config.url.includes('login')) {
// Refresh token has failed. Logout the user
store.dispatch('auth/logout');
throw error;
} else {
// Refresh the access token
try{
await store.dispatch('auth/refreshToken')
await store.dispatch('refreshToken')
// Retry the original request
return this.customRequest({
method: error.config.method,
+38 -21
View File
@@ -28,21 +28,21 @@ const UserService = {
grant_type: 'password',
},
auth: {
username: process.env.VUE_APP_CLIENT_ID,
password: process.env.VUE_APP_CLIENT_SECRET
username: process.env.MIX_APP_CLIENT_ID,
password: process.env.MIX_APP_CLIENT_SECRET
}
}
try {
const response = await ApiService.customRequest(requestData);
TokenService.saveToken(response.data.token);
TokenService.saveRefreshToken(response.data.token);
TokenService.saveToken(response.data.access_token);
TokenService.saveRefreshToken(response.data.refresh_token);
ApiService.setHeader();
// NOTE: We haven't covered this yet in our ApiService
// but don't worry about this just yet - I'll come back to it later
ApiService.mount401Interceptor();
return response.data.token;
return response.data.access_token;
} catch (error) {
throw new AuthenticationError(error.response.status, error.response.data.detail);
}
@@ -61,8 +61,8 @@ const UserService = {
cell_number,
},
auth: {
username: process.env.VUE_APP_CLIENT_ID,
password: process.env.VUE_APP_CLIENT_SECRET
username: process.env.MIX_APP_CLIENT_ID,
password: process.env.MIX_APP_CLIENT_SECRET
}
}
@@ -89,8 +89,8 @@ const UserService = {
verifyCode,
},
auth: {
username: process.env.VUE_APP_CLIENT_ID,
password: process.env.VUE_APP_CLIENT_SECRET
username: process.env.MIX_APP_CLIENT_ID,
password: process.env.MIX_APP_CLIENT_SECRET
}
}
@@ -118,20 +118,20 @@ const UserService = {
refresh_token: refreshToken
},
auth: {
username: process.env.VUE_APP_CLIENT_ID,
password: process.env.VUE_APP_CLIENT_SECRET
username: process.env.MIX_APP_CLIENT_ID,
password: process.env.MIX_APP_CLIENT_SECRET
}
}
try {
const response = await ApiService.customRequest(requestData)
TokenService.saveToken(response.data.token)
TokenService.saveRefreshToken(response.data.token)
TokenService.saveToken(response.data.access_token)
TokenService.saveRefreshToken(response.data.refresh_token)
// Update the header in ApiService
ApiService.setHeader()
return response.data.token
return response.data.access_token
} catch (error) {
throw new AuthenticationError(error.response.status, error.response.data.detail)
}
@@ -143,14 +143,31 @@ const UserService = {
*
* Will also remove `Authorization Bearer <token>` header from future requests.
**/
logout() {
// Remove the token and remove Authorization header from Api Service as well
TokenService.removeToken()
TokenService.removeRefreshToken()
ApiService.removeHeader()
logout: async function() {
const requestData = {
method: 'post',
url: "logout",
auth: {
username: process.env.MIX_APP_CLIENT_ID,
password: process.env.MIX_APP_CLIENT_SECRET
}
}
try {
await ApiService.customRequest(requestData);
// Remove the token and remove Authorization header from Api Service as well
TokenService.removeToken()
TokenService.removeRefreshToken()
ApiService.removeHeader()
// NOTE: Again, we'll cover the 401 Interceptor a bit later.
ApiService.unmount401Interceptor()
return response.data;
} catch (error) {
throw new AuthenticationError(error.response.status, error.response.data.detail);
}
// NOTE: Again, we'll cover the 401 Interceptor a bit later.
ApiService.unmount401Interceptor()
}
}