aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_services
diff options
context:
space:
mode:
authorDanijel Andjelkovic <adanijel99@gmail.com>2022-03-30 12:41:53 +0200
committerDanijel Andjelkovic <adanijel99@gmail.com>2022-03-30 12:41:53 +0200
commitad9193d35e5ae2f6847492f1867963fc1672ee3e (patch)
treebe3b3a54bc42696e73f3c3092a9f52db8355c07f /frontend/src/app/_services
parent6af8655c2d1a24c0c3ba851bb28d72f9d06c83b0 (diff)
parent476393d1530b261b8a145db2533262979558e064 (diff)
Merge branch 'dev' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into dev
Diffstat (limited to 'frontend/src/app/_services')
-rw-r--r--frontend/src/app/_services/auth.service.ts39
-rw-r--r--frontend/src/app/_services/csv-parse.service.ts3
2 files changed, 34 insertions, 8 deletions
diff --git a/frontend/src/app/_services/auth.service.ts b/frontend/src/app/_services/auth.service.ts
index 449b8802..ccfbe15f 100644
--- a/frontend/src/app/_services/auth.service.ts
+++ b/frontend/src/app/_services/auth.service.ts
@@ -24,10 +24,16 @@ export class AuthService {
return this.http.post(`${API_SETTINGS.apiURL}/auth/register`, { ...user }, { responseType: 'text' });
}
+ getGuestToken(){
+ return this.http.post(`${API_SETTINGS.apiURL}/auth/guestToken`, {}, { responseType: 'text' });
+ }
+
isAuthenticated(): boolean {
if (this.cookie.check('token')) {
var token = this.cookie.get('token');
- return !jwtHelper.isTokenExpired(token);
+ var property=jwtHelper.decodeToken(this.cookie.get('token'));
+ var username=property['name'];
+ return !jwtHelper.isTokenExpired(token) && username!="";
}
return false;
}
@@ -41,12 +47,30 @@ export class AuthService {
if (!exp) {
exp = new Date();
}
- this.refresher = setTimeout(() => {
- console.log('refreshing token!');
- this.http.post(`${API_SETTINGS.apiURL}/auth/renewJwt`, {}, { headers: this.authHeader(), responseType: 'text' }).subscribe((response) => {
- this.authenticate(response);
- });
- }, exp.getTime() - new Date().getTime() - 60000);
+ var property=jwtHelper.decodeToken(this.cookie.get('token'));
+ var username=property['name'];
+ if(username!=""){
+ this.refresher = setTimeout(() => {
+ console.log('refreshing token!');
+ this.http.post(`${API_SETTINGS.apiURL}/auth/renewJwt`, {}, { headers: this.authHeader(), responseType: 'text' }).subscribe((response) => {
+ this.authenticate(response);
+ });
+ }, exp.getTime() - new Date().getTime() - 60000);
+ }
+ else{
+ this.refresher = setTimeout(() => {
+ console.log('refreshing token!');
+ this.getGuestToken().subscribe((response) => {
+ this.authenticate(response);
+ });
+ }, exp.getTime() - new Date().getTime() - 60000);
+ }
+ }
+
+ addGuestToken(){
+ this.getGuestToken().subscribe((token)=>{
+ this.authenticate(token);
+ });
}
authenticate(token: string) {
@@ -74,6 +98,7 @@ export class AuthService {
if (this.refresher)
clearTimeout(this.refresher);
this.shared.loggedIn = false;
+ this.addGuestToken();
}
authHeader() {
diff --git a/frontend/src/app/_services/csv-parse.service.ts b/frontend/src/app/_services/csv-parse.service.ts
index d53f504e..b9b761a0 100644
--- a/frontend/src/app/_services/csv-parse.service.ts
+++ b/frontend/src/app/_services/csv-parse.service.ts
@@ -45,7 +45,8 @@ export class CsvParseService {
strMatchedValue = arrMatches[3];
}
- arrData[arrData.length - 1].push(strMatchedValue);
+ if (strMatchedValue.length > 0)
+ arrData[arrData.length - 1].push(strMatchedValue);
}
return (arrData);