This commit is contained in:
liquidjoo
2019-07-05 17:30:23 +09:00
parent 690ae8b69e
commit 4aa8d9dcb3
3 changed files with 36 additions and 81 deletions

View File

@@ -1,80 +1,14 @@
package io.bluemoon.authorizationserver.controller.sso;
import io.bluemoon.authorizationserver.config.annotation.SocialUser;
import io.bluemoon.authorizationserver.domain.UserResponseWrapper;
import io.bluemoon.authorizationserver.domain.oauth.accesstoken.AccessToken;
import io.bluemoon.authorizationserver.domain.social.SocialType;
import io.bluemoon.authorizationserver.domain.user.User;
import io.bluemoon.authorizationserver.service.sso.SsoService;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.security.Principal;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
@Controller
public class SsoController {
private SsoService ssoService;
public SsoController(
SsoService ssoService
) {
this.ssoService = ssoService;
}
@RequestMapping(value = "/userInfo", method = RequestMethod.POST)
@ResponseBody
public UserResponseWrapper userResponse(
@RequestParam(name = "token") String token,
@RequestParam(name = "clientId") String clientId
) {
AccessToken accessToken = ssoService.getAccessToken(token, clientId);
UserResponseWrapper userResponseWrapper = new UserResponseWrapper();
if (accessToken == null) {
userResponseWrapper.setResult(false);
userResponseWrapper.setMessage("사용자 정보를 조회할 수 없습니다.");
} else {
userResponseWrapper.setMessage(accessToken.getUserName());
}
return userResponseWrapper;
}
@RequestMapping(value = "/userLogout", method = RequestMethod.GET)
public String userLogout(
@RequestParam(name = "clientId") String clientId,
HttpServletRequest request
) {
String userName = request.getRemoteUser();
String baseUri = ssoService.logoutAllClient(clientId, userName);
request.getSession().invalidate();
return "redirect:"+baseUri;
}
@RequestMapping(value = "/oauthCallback", method = RequestMethod.GET)
public String oauthCallback(
@RequestParam(name = "code") String code,
@RequestParam(name = "state") String state,
HttpServletRequest request, ModelMap map
) {
System.out.println(code);
System.out.println(state);
System.out.println(request);
System.out.println(map.toString());
return "aa";
}
@RequestMapping(value = "/user")
@ResponseBody
public Principal user(Principal user) {
@@ -84,22 +18,11 @@ public class SsoController {
@GetMapping(value = "/login/success")
public String loginComplete(@SocialUser User user) {
System.out.println(user);
return "redirect:https://924680a1.ngrok.io/login";
// zuul login page redirect
return "redirect:https://localhost:8765/login";
// return "why not";
}
@GetMapping(value = "/login/test")
@ResponseBody
public String test2() {
return "kkk";
}
@RequestMapping(value = "/code")
public String test(
@RequestParam(value = "code") String code
) {
return code;
}

32
authorization-server2/.gitignore vendored Normal file
View File

@@ -0,0 +1,32 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/

View File

@@ -7,9 +7,9 @@ zuul.routes.mk2-service.url=http://127.0.0.1:8082/api
zuul.routes.mk2-service.sensitive-headers=
#zuul.routes.mk2-service.sensitive-headers=Cookie,Set-Cookie,Authorization
zuul.routes.mk2-oauth.path=/mk-auth/**
zuul.routes.mk2-oauth.path=/auth
#zuul.routes.mk2-oauth.url=https://59a7bc58.ngrok.io
zuul.routes.mk2-oauth.url=http://localhost:8081/mk-auth
zuul.routes.mk2-oauth.url=http://localhost:8081/auth
zuul.routes.mk2-oauth.sensitive-headers=
#zuul.routes.mk2-oauth.sensitive-headers=Cookie,Set-Cookie,Authorization
#zuul.routes.mk2-oauth.path=/mk2auth/**