From b6895a68d6ea2d69b1a012dd7e773d317908d008 Mon Sep 17 00:00:00 2001 From: yetju000 Date: Fri, 29 Nov 2019 21:05:51 +0100 Subject: [PATCH] refatoring --- .../controller/UsosController.java | 8 ++++---- .../usos/AuthorizationService.java | 15 +++++++-------- .../usos/TokenResponseDTO.java | 2 ++ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/BackEnd/src/main/java/studycave/studycaverestservice/controller/UsosController.java b/BackEnd/src/main/java/studycave/studycaverestservice/controller/UsosController.java index 14c431d..5329fba 100644 --- a/BackEnd/src/main/java/studycave/studycaverestservice/controller/UsosController.java +++ b/BackEnd/src/main/java/studycave/studycaverestservice/controller/UsosController.java @@ -47,11 +47,11 @@ public class UsosController { String oauth_verifier = request.getHeader("oauth_verifier"); try { - String responseToken = authorizationService.authorize(oauth_token, oauth_token_secret, oauth_verifier); - responseHeaders.add("authorization", responseToken); - return ResponseEntity.status(HttpStatus.OK).headers(responseHeaders).body(new TokenResponseDTO(responseToken)); + TokenResponseDTO responseToken = authorizationService.authorize(oauth_token, oauth_token_secret, oauth_verifier); + responseHeaders.add("authorization", responseToken.getKey()); + return ResponseEntity.status(HttpStatus.OK).headers(responseHeaders).body(responseToken); } catch (NoSuchAlgorithmException | InvalidKeyException | IOException e) { - return ResponseEntity.status(HttpStatus.BAD_REQUEST).headers(responseHeaders).body(new TokenResponseDTO(e.getCause().toString())); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).headers(responseHeaders).body(new TokenResponseDTO(e.getCause().toString(), null)); } } diff --git a/BackEnd/src/main/java/studycave/studycaverestservice/usos/AuthorizationService.java b/BackEnd/src/main/java/studycave/studycaverestservice/usos/AuthorizationService.java index 31be412..805c357 100644 --- a/BackEnd/src/main/java/studycave/studycaverestservice/usos/AuthorizationService.java +++ b/BackEnd/src/main/java/studycave/studycaverestservice/usos/AuthorizationService.java @@ -3,7 +3,6 @@ package studycave.studycaverestservice.usos; import io.restassured.response.Response; import org.apache.commons.codec.binary.Base64; -import org.apache.http.Header; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; @@ -11,9 +10,7 @@ import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URLEncodedUtils; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; -import org.apache.http.util.EntityUtils; import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; @@ -58,7 +55,7 @@ public class AuthorizationService { @Autowired private UserRepository userRepository; - public String authorize(String oauth_token, String oauth_token_secret, String oauth_verifier) throws IOException, InvalidKeyException, NoSuchAlgorithmException { + public TokenResponseDTO authorize(String oauth_token, String oauth_token_secret, String oauth_verifier) throws IOException, InvalidKeyException, NoSuchAlgorithmException { List queryParams = new ArrayList<>(); queryParams.add(new BasicNameValuePair("oauth_consumer_key", propertiesLoader.getKey())); queryParams.add(new BasicNameValuePair("oauth_nonce", "" + (int) (Math.random() * 100000000))); @@ -77,7 +74,7 @@ public class AuthorizationService { oauth_token_secret = tokens[1].replace("oauth_token_secret=", ""); return createUserAccountAndReturnHeaderToken(oauth_token, oauth_token_secret); } - return "authorization failed"; + return new TokenResponseDTO("authorization failed", null); } public String requestToken(String oauth_callback) throws UnsupportedEncodingException, InvalidKeyException, NoSuchAlgorithmException { @@ -114,7 +111,7 @@ public class AuthorizationService { return loggedOut; } - private String createUserAccountAndReturnHeaderToken(String oauth_token, String oauth_token_secret) throws IOException, InvalidKeyException, NoSuchAlgorithmException { + private TokenResponseDTO createUserAccountAndReturnHeaderToken(String oauth_token, String oauth_token_secret) throws IOException, InvalidKeyException, NoSuchAlgorithmException { List queryParams = new ArrayList<>(); queryParams.add(new BasicNameValuePair("oauth_consumer_key", propertiesLoader.getKey())); queryParams.add(new BasicNameValuePair("oauth_nonce", "" + (int) (Math.random() * 100000000))); @@ -144,13 +141,15 @@ public class AuthorizationService { user.setSurname(responseJSON.getString("last_name")); user.setUsername(id); user = userRepository.save(user); - return getAuthToken(user.getUsername(), generatedPassword); + String token = getAuthToken(user.getUsername(), generatedPassword); + return new TokenResponseDTO(token, user.getUsername()); } else { User user = userCheck.get(); user.getUsosUser().setPassword(bCryptPasswordEncoder.encode(generatedPassword)); user = userRepository.save(user); - return getAuthToken(user.getUsername(), generatedPassword); + String token = getAuthToken(user.getUsername(), generatedPassword); + return new TokenResponseDTO(token, user.getUsername()); } } diff --git a/BackEnd/src/main/java/studycave/studycaverestservice/usos/TokenResponseDTO.java b/BackEnd/src/main/java/studycave/studycaverestservice/usos/TokenResponseDTO.java index 1319ad3..3a04236 100644 --- a/BackEnd/src/main/java/studycave/studycaverestservice/usos/TokenResponseDTO.java +++ b/BackEnd/src/main/java/studycave/studycaverestservice/usos/TokenResponseDTO.java @@ -13,4 +13,6 @@ public class TokenResponseDTO { private String key; + private String username; + }