aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/server/api/ApiSocialLogin.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/juick/server/api/ApiSocialLogin.java')
-rw-r--r--src/main/java/com/juick/server/api/ApiSocialLogin.java20
1 files changed, 9 insertions, 11 deletions
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<Auth> 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<com.juick.User> 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);
}
}
/*