From a34350b62784d4332243ba40ffe928afd91f67d3 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Fri, 26 Apr 2019 16:40:58 +0300 Subject: Authorization checks are in spring-security for a while --- .../java/com/juick/server/api/ApiSocialLogin.java | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'src/main/java/com/juick/server/api/ApiSocialLogin.java') diff --git a/src/main/java/com/juick/server/api/ApiSocialLogin.java b/src/main/java/com/juick/server/api/ApiSocialLogin.java index efc2e288..fe5f2069 100644 --- a/src/main/java/com/juick/server/api/ApiSocialLogin.java +++ b/src/main/java/com/juick/server/api/ApiSocialLogin.java @@ -24,7 +24,6 @@ import com.github.scribejava.core.model.OAuth2AccessToken; import com.github.scribejava.core.model.OAuthRequest; import com.github.scribejava.core.model.Verb; import com.github.scribejava.core.oauth.OAuth20Service; -import com.google.api.client.auth.openidconnect.IdToken; import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken; import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier; import com.google.api.client.http.HttpTransport; @@ -34,7 +33,6 @@ import com.google.api.client.json.jackson2.JacksonFactory; import com.juick.model.Auth; import com.juick.model.facebook.User; import com.juick.server.util.HttpBadRequestException; -import com.juick.server.util.HttpForbiddenException; import com.juick.service.CrosspostService; import com.juick.service.EmailService; import com.juick.service.TelegramService; @@ -46,6 +44,8 @@ import org.apache.commons.lang3.math.NumberUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -57,9 +57,7 @@ import javax.annotation.PostConstruct; import javax.inject.Inject; import java.io.IOException; import java.security.GeneralSecurityException; -import java.util.Arrays; import java.util.Collections; -import java.util.List; import java.util.UUID; import java.util.concurrent.ExecutionException; @@ -172,7 +170,7 @@ public class ApiSocialLogin { } else { if (!crosspostService.createFacebookUser(fbID, state, token.getAccessToken(), fb.getName())) { if (StringUtils.isNotEmpty(fb.getEmail())) { - logger.info("found {} for facebook user {}", fb.getEmail()); + logger.info("found {} for facebook user {}", fb.getEmail(), fb.getName()); Integer userId = crosspostService.getUIDbyFBID(fbID); if (!emailService.getEmails(userId, false).contains(fb.getEmail())) { emailService.addEmail(userId, fb.getEmail()); @@ -279,7 +277,7 @@ public class ApiSocialLogin { } @ResponseBody @PostMapping("/api/_google") - public Auth googleSignIn(@RequestParam(name = "idToken") String idTokenString) + public ResponseEntity googleSignIn(@RequestParam(name = "idToken") String idTokenString) throws GeneralSecurityException, IOException { logger.info("Token: {}", idTokenString); logger.info("Client: {}", googleClientId); @@ -289,14 +287,14 @@ public class ApiSocialLogin { if (userService.getUserByEmail(email).isAnonymous()) { String verificationCode = RandomStringUtils.randomAlphanumeric(8).toUpperCase(); emailService.addVerificationCode(null, email, verificationCode); - return new Auth(email, verificationCode); + return ResponseEntity.ok(new Auth(email, verificationCode)); } } - throw new HttpForbiddenException(); + return ResponseEntity.status(HttpStatus.FORBIDDEN).body(null); } @ResponseBody @PostMapping("/api/signup") - public com.juick.User signupWithEmail(String username, String password, String verificationCode) { + public ResponseEntity signupWithEmail(String username, String password, String verificationCode) { if (username.length() < 2 || username.length() > 16 || !username.matches("^[a-zA-Z0-9\\-]+$") || password.length() < 6 || password.length() > 32) { throw new HttpBadRequestException(); @@ -310,9 +308,9 @@ public class ApiSocialLogin { } emailService.addEmail(uid, verifiedEmail); emailService.deleteAuthCode(verificationCode); - return userService.getUserByUID(uid).orElseThrow(IllegalStateException::new); + return ResponseEntity.ok(userService.getUserByUID(uid).orElseThrow(IllegalStateException::new)); } else { - throw new HttpForbiddenException(); + return ResponseEntity.status(HttpStatus.FORBIDDEN).body(null); } } /* -- cgit v1.2.3