From 8bec0a6cf0b8db9692c752348ef8fff979e5a460 Mon Sep 17 00:00:00 2001 From: annabakouli Date: Tue, 19 Dec 2017 11:02:25 +0200 Subject: [PATCH] no message --- .../configurations/WebMVCConfiguration.java | 7 +++-- .../controllers/DashBoardController.java | 2 +- .../main/java/eu/eudat/controllers/Login.java | 28 ++++++++++++++++++- .../handlers/PrincipalArgumentResolver.java | 3 +- .../src/app/services/auth/auth.service.ts | 2 +- 5 files changed, 35 insertions(+), 7 deletions(-) diff --git a/dmp-backend/src/main/java/eu/eudat/configurations/WebMVCConfiguration.java b/dmp-backend/src/main/java/eu/eudat/configurations/WebMVCConfiguration.java index 449ca039f..37afde491 100644 --- a/dmp-backend/src/main/java/eu/eudat/configurations/WebMVCConfiguration.java +++ b/dmp-backend/src/main/java/eu/eudat/configurations/WebMVCConfiguration.java @@ -1,6 +1,8 @@ package eu.eudat.configurations; import eu.eudat.handlers.PrincipalArgumentResolver; +import eu.eudat.services.AuthenticationService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @@ -13,9 +15,10 @@ import java.util.List; @Configuration public class WebMVCConfiguration extends WebMvcConfigurerAdapter { - + @Autowired + AuthenticationService authenticationService; @Override public void addArgumentResolvers(List argumentResolvers) { - argumentResolvers.add(new PrincipalArgumentResolver()); + argumentResolvers.add(new PrincipalArgumentResolver(this.authenticationService)); } } diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/DashBoardController.java b/dmp-backend/src/main/java/eu/eudat/controllers/DashBoardController.java index cd5ddc237..ec96dbd48 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/DashBoardController.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/DashBoardController.java @@ -24,7 +24,7 @@ public class DashBoardController { @Autowired private ProjectDao projectDao; @RequestMapping(method = RequestMethod.GET, value = { "/dashboard/getStatistics" }, produces="application/json") - public ResponseItem getStatistics(){ + public ResponseItem getStatistics(Principal principal){ try { DashBoardStatistics statistics = new DashBoardManager().getStatistics(datasetDao, dMPDao, projectDao); return new ResponseItem().status(HttpStatus.OK).payload(statistics); diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Login.java b/dmp-backend/src/main/java/eu/eudat/controllers/Login.java index ebadad02e..704213d30 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Login.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Login.java @@ -5,6 +5,7 @@ import eu.eudat.models.helpers.responses.ResponseItem; import eu.eudat.models.login.LoginInfo; import eu.eudat.models.security.Principal; import eu.eudat.security.CustomAuthenticationProvider; +import eu.eudat.services.AuthenticationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; @@ -14,12 +15,14 @@ import org.springframework.web.bind.annotation.*; */ @RestController @CrossOrigin -@RequestMapping(value = "/login") +@RequestMapping(value = "/auth") public class Login { @Autowired private CustomAuthenticationProvider customAuthenticationProvider; + @Autowired + private AuthenticationService authenticationService; @RequestMapping(method = RequestMethod.POST, value = { "/externallogin" }, consumes = "application/json", produces="application/json") public @ResponseBody ResponseItem googleLogin(@RequestBody LoginInfo credentials) { try { @@ -30,4 +33,27 @@ public class Login { return new ResponseItem().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); } } + + @RequestMapping(method = RequestMethod.POST, value = { "/me" }, consumes = "application/json", produces="application/json") + public @ResponseBody ResponseItem authMe(Principal principal) { + try { + return new ResponseItem().payload(this.authenticationService.Touch(principal.getToken())).status(HttpStatus.OK); + + } catch (Exception ex) { + ex.printStackTrace(); + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); + } + } + + @RequestMapping(method = RequestMethod.POST, value = { "/logout" }, consumes = "application/json", produces="application/json") + public @ResponseBody ResponseItem logout(Principal principal) { + try { + this.authenticationService.Logout(principal.getToken()); + return new ResponseItem().status(HttpStatus.OK); + + } catch (Exception ex) { + ex.printStackTrace(); + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); + } + } } diff --git a/dmp-backend/src/main/java/eu/eudat/handlers/PrincipalArgumentResolver.java b/dmp-backend/src/main/java/eu/eudat/handlers/PrincipalArgumentResolver.java index 2da99321a..d9734a2af 100644 --- a/dmp-backend/src/main/java/eu/eudat/handlers/PrincipalArgumentResolver.java +++ b/dmp-backend/src/main/java/eu/eudat/handlers/PrincipalArgumentResolver.java @@ -40,8 +40,7 @@ public final class PrincipalArgumentResolver implements HandlerMethodArgumentRes return principal; } - @Autowired - private void PrincipalArgumentResolver(AuthenticationService authenticationService){ + public PrincipalArgumentResolver(AuthenticationService authenticationService){ this.authenticationService = authenticationService; } diff --git a/dmp-frontend/src/app/services/auth/auth.service.ts b/dmp-frontend/src/app/services/auth/auth.service.ts index 0233d88bc..c960812df 100644 --- a/dmp-frontend/src/app/services/auth/auth.service.ts +++ b/dmp-frontend/src/app/services/auth/auth.service.ts @@ -24,7 +24,7 @@ export class AuthService { public router: Router ) { - this.actionUrl = HostConfiguration.Server + 'login/'; + this.actionUrl = HostConfiguration.Server + 'auth/'; this.headers = new HttpHeaders(); this.headers = this.headers.set('Content-Type', 'application/json');