backend/restservice/src/main/java/com/plannaplan/controllers/TokenController.java

36 lines
1.2 KiB
Java
Raw Normal View History

2020-09-11 14:12:13 +02:00
package com.plannaplan.controllers;
2020-09-11 14:33:29 +02:00
import com.plannaplan.security.CasValidationExcepiton;
2020-09-11 14:12:13 +02:00
import com.plannaplan.security.CasValidator;
2020-09-11 14:33:29 +02:00
import org.springframework.http.HttpStatus;
2020-09-11 14:12:13 +02:00
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@CrossOrigin
public class TokenController {
public static String SERVICE_URL = "http://localhost:3000";
2020-09-11 14:33:29 +02:00
@GetMapping("/token")
public ResponseEntity<String> getToken(@RequestParam("ticket") final String ticket) {
CasValidator validator = new CasValidator(SERVICE_URL,ticket);
try{
String authority = validator.validate();
return new ResponseEntity<>(authority,HttpStatus.OK);
}
catch(CasValidationExcepiton e){
return new ResponseEntity<>("Wrong ticket",HttpStatus.UNAUTHORIZED);
}
catch(Exception e){
return new ResponseEntity<>(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
}
}
2020-09-11 14:12:13 +02:00
}