poprawki usos

This commit is contained in:
yetju000 2019-11-29 20:25:28 +01:00
parent 0ee3c4ac21
commit a27bc37e6e
4 changed files with 44 additions and 6 deletions

View File

@ -2,6 +2,7 @@ package studycave.studycaverestservice.controller;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
@ -13,6 +14,8 @@ import org.springframework.web.bind.annotation.RestController;
import studycave.studycaverestservice.PropertiesLoader;
import studycave.studycaverestservice.model.user.User;
import studycave.studycaverestservice.usos.AuthorizationService;
import studycave.studycaverestservice.usos.TokenResponseDTO;
import studycave.studycaverestservice.usos.UsosResponseDTO;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@ -36,7 +39,7 @@ public class UsosController {
@ApiImplicitParam(name = "oauth_token_secret", value = "User's oauth_token_secret", required = true, dataType = "string", paramType = "header"),
@ApiImplicitParam(name = "oauth_verifier", value = "User's oauth_verifier", required = true, dataType = "string", paramType = "header")
})
public ResponseEntity<String> authorize(HttpServletRequest request) {
public ResponseEntity<TokenResponseDTO> authorize(HttpServletRequest request) {
HttpHeaders responseHeaders = new HttpHeaders();
String oauth_token = request.getHeader("oauth_token");
@ -46,19 +49,19 @@ public class UsosController {
try {
String responseToken = authorizationService.authorize(oauth_token, oauth_token_secret, oauth_verifier);
responseHeaders.add("authorization", responseToken);
return ResponseEntity.status(HttpStatus.OK).headers(responseHeaders).body(responseToken);
return ResponseEntity.status(HttpStatus.OK).headers(responseHeaders).body(new TokenResponseDTO(responseToken));
} catch (NoSuchAlgorithmException | InvalidKeyException | IOException e) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).headers(responseHeaders).body(e.getCause().toString());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).headers(responseHeaders).body(new TokenResponseDTO(e.getCause().toString()));
}
}
@GetMapping("/request_token")
public ResponseEntity<String> getToken(@RequestParam(required = false, defaultValue = "oob") String oauth_callback) {
public ResponseEntity<UsosResponseDTO> getToken(@RequestParam(required = false, defaultValue = "oob") String oauth_callback) {
HttpHeaders responseHeaders = new HttpHeaders();
try {
return ResponseEntity.status(HttpStatus.OK).headers(responseHeaders).body(authorizationService.requestToken(oauth_callback));
return ResponseEntity.status(HttpStatus.OK).headers(responseHeaders).body(new UsosResponseDTO(authorizationService.requestToken(oauth_callback)));
} catch (NoSuchAlgorithmException | UnsupportedEncodingException | InvalidKeyException e) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).headers(responseHeaders).body(e.getCause().toString());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).headers(responseHeaders).body(new UsosResponseDTO(e.getCause().toString()));
}
}

View File

@ -0,0 +1,16 @@
package studycave.studycaverestservice.usos;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class TokenResponseDTO {
private String key;
}

View File

@ -0,0 +1,17 @@
package studycave.studycaverestservice.usos;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class UsosResponseDTO {
private String url;
}

View File

@ -6,6 +6,8 @@ spring.datasource.password=L0XIcnvtWpYEnr4w
spring.servlet.multipart.max-file-size=500KB
spring.servlet.multipart.max-request-size=500KB
#server.address=51.75.30.146
#server.port=8080
#usos instance to use
usos.baseURI=https://usosapps.amu.edu.pl