Changeset View
Changeset View
Standalone View
Standalone View
src/app/_services/authentication.service.ts
Show All 29 Lines | return this.http.post(this.apiURL + '/account/auth/', JSON.stringify({ username: username, password: password }), options) | ||||
// set token property | // set token property | ||||
this.token = response.token; | this.token = response.token; | ||||
// store username and token in local storage to keep user logged in between page refreshes | // store username and token in local storage to keep user logged in between page refreshes | ||||
localStorage.setItem('currentUser', JSON.stringify({ username: username, token: this.token })); | localStorage.setItem('currentUser', JSON.stringify({ username: username, token: this.token })); | ||||
return Auth.parse(response); | return Auth.parse(response); | ||||
}) | }) | ||||
.catch((error) => { | .catch((error) => { | ||||
const body = JSON.parse(error._body); | |||||
return Observable.of( | return Observable.of( | ||||
new AuthError( | new AuthError( | ||||
body.non_field_errors || null, | error.error.non_field_errors, | ||||
body.username || null, | error.error.username, | ||||
body.password || null | error.error.password, | ||||
) | ) | ||||
); | ); | ||||
}); | }); | ||||
} | } | ||||
logout(): void { | logout(): void { | ||||
// clear token remove user from local storage to log user out | // clear token remove user from local storage to log user out | ||||
this.token = null; | this.token = null; | ||||
localStorage.removeItem('currentUser'); | localStorage.removeItem('currentUser'); | ||||
} | } | ||||
} | } |