From 8db3469c6f5d2ecab5fed01091b1dd08226eb335 Mon Sep 17 00:00:00 2001 From: liquidjoo Date: Tue, 9 Jul 2019 13:56:58 +0900 Subject: [PATCH] grant type password adject --- .../config/WebSecurity2Config.java | 6 +++-- .../controller/AuthController.java | 2 -- .../controller/SignController.java | 15 +++++++++++ .../src/main/resources/application.properties | 3 ++- test-service/build.gradle | 4 +++ .../gradle/wrapper/gradle-wrapper.properties | 3 ++- .../testservice/config/WebMvcConfig.java | 14 ++++++++++- .../testservice/config/WebSecurityConfig.java | 23 ++++++++++++++++- .../controller/SignController.java | 25 +++++++++++++++++++ .../testservice/domain/user/User.java | 10 ++++++-- .../domain/user/UserRepository.java | 5 +++- .../handler/CustomAuthFailureHandler.java | 2 +- .../src/main/resources/application.properties | 2 +- .../src/main/resources/templates/signIn.html | 10 +------- 14 files changed, 102 insertions(+), 22 deletions(-) diff --git a/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/config/WebSecurity2Config.java b/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/config/WebSecurity2Config.java index 28779bc..861e830 100644 --- a/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/config/WebSecurity2Config.java +++ b/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/config/WebSecurity2Config.java @@ -1,8 +1,9 @@ package io.bluemoon.authorizationserver2.config; - import io.bluemoon.authorizationserver2.service.user.CustomUserDetailsServiceImpl; +import org.springframework.boot.autoconfigure.security.SecurityProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.annotation.Order; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.dao.DaoAuthenticationProvider; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; @@ -11,6 +12,7 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur import org.springframework.security.crypto.password.NoOpPasswordEncoder; @Configuration +@Order(SecurityProperties.BASIC_AUTH_ORDER) public class WebSecurity2Config extends WebSecurityConfigurerAdapter { private CustomUserDetailsServiceImpl customUserDetailsService; @@ -33,7 +35,7 @@ public class WebSecurity2Config extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { - super.configure(http); + } @Bean diff --git a/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/controller/AuthController.java b/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/controller/AuthController.java index 903f899..38ef477 100644 --- a/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/controller/AuthController.java +++ b/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/controller/AuthController.java @@ -14,6 +14,4 @@ public class AuthController { return user; } - SecurityContextHolder - } diff --git a/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/controller/SignController.java b/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/controller/SignController.java index c848e70..d96773b 100644 --- a/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/controller/SignController.java +++ b/authorization-server2/src/main/java/io/bluemoon/authorizationserver2/controller/SignController.java @@ -1,4 +1,19 @@ package io.bluemoon.authorizationserver2.controller; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@Controller public class SignController { + + @PostMapping("/middleWare") + @ResponseBody + private String mid(@RequestBody Map request, @RequestHeader Map header) { + System.out.println(request); + System.out.println(header); + return "a"; + } } diff --git a/authorization-server2/src/main/resources/application.properties b/authorization-server2/src/main/resources/application.properties index ad903d1..2fa7b15 100644 --- a/authorization-server2/src/main/resources/application.properties +++ b/authorization-server2/src/main/resources/application.properties @@ -20,7 +20,8 @@ spring.jpa.show-sql=true #spring.jpa.generate-ddl=false #spring.jpa.hibernate.ddl-auto=none - +# jwt +#security.oauth2.resource.prefer-token-info=false logging.level.web=debug spring.http.log-request-details=true \ No newline at end of file diff --git a/test-service/build.gradle b/test-service/build.gradle index f5aaa5c..3577ca4 100644 --- a/test-service/build.gradle +++ b/test-service/build.gradle @@ -25,7 +25,11 @@ ext { dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.cloud:spring-cloud-starter-oauth2' + implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'com.squareup.okhttp3:okhttp:3.9.1' + implementation 'com.google.code.gson:gson' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' diff --git a/test-service/gradle/wrapper/gradle-wrapper.properties b/test-service/gradle/wrapper/gradle-wrapper.properties index f4d7b2b..b76c334 100644 --- a/test-service/gradle/wrapper/gradle-wrapper.properties +++ b/test-service/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Mon Jul 08 11:53:32 KST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip diff --git a/test-service/src/main/java/io/bluemoon/testservice/config/WebMvcConfig.java b/test-service/src/main/java/io/bluemoon/testservice/config/WebMvcConfig.java index d52dbd4..163c259 100644 --- a/test-service/src/main/java/io/bluemoon/testservice/config/WebMvcConfig.java +++ b/test-service/src/main/java/io/bluemoon/testservice/config/WebMvcConfig.java @@ -1,4 +1,16 @@ package io.bluemoon.testservice.config; -public class WebMvcConfig { +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@EnableWebMvc +@Configuration +public class WebMvcConfig implements WebMvcConfigurer { + + @Override + public void addViewControllers(ViewControllerRegistry registry) { + registry.addViewController("/signIn").setViewName("signIn"); + } } diff --git a/test-service/src/main/java/io/bluemoon/testservice/config/WebSecurityConfig.java b/test-service/src/main/java/io/bluemoon/testservice/config/WebSecurityConfig.java index d0afa68..da50d60 100644 --- a/test-service/src/main/java/io/bluemoon/testservice/config/WebSecurityConfig.java +++ b/test-service/src/main/java/io/bluemoon/testservice/config/WebSecurityConfig.java @@ -1,4 +1,25 @@ package io.bluemoon.testservice.config; -public class WebSecurityConfig { +import io.bluemoon.testservice.handler.CustomAuthFailureHandler; +import org.springframework.boot.autoconfigure.security.SecurityProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.annotation.Order; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; + +@Configuration +@Order(-1) +public class WebSecurityConfig extends WebSecurityConfigurerAdapter { + + @Override + protected void configure(HttpSecurity http) throws Exception { + http + .authorizeRequests() + .antMatchers("/signIn").permitAll() + .antMatchers("/signInAfter").permitAll() + .anyRequest() + .authenticated(); + + } } diff --git a/test-service/src/main/java/io/bluemoon/testservice/controller/SignController.java b/test-service/src/main/java/io/bluemoon/testservice/controller/SignController.java index ffd6e72..4881fb7 100644 --- a/test-service/src/main/java/io/bluemoon/testservice/controller/SignController.java +++ b/test-service/src/main/java/io/bluemoon/testservice/controller/SignController.java @@ -1,4 +1,29 @@ package io.bluemoon.testservice.controller; +import io.bluemoon.testservice.domain.user.User; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import java.util.Map; + +@RestController public class SignController { + @PostMapping("/signInAfter") + private String signIn(HttpServletRequest request) { + System.out.println(request); + System.out.println(request.getAuthType()); + System.out.println(request.getSession()); + System.out.println(request.getParameterMap().toString()); + + return "aaaa"; + } + + @PostMapping("/createOAuthUser") + public String creatOAuthUser(@RequestBody @Valid User user, @RequestHeader Map header) { + + + + return ""; + } } diff --git a/test-service/src/main/java/io/bluemoon/testservice/domain/user/User.java b/test-service/src/main/java/io/bluemoon/testservice/domain/user/User.java index a8c0460..b1186ce 100644 --- a/test-service/src/main/java/io/bluemoon/testservice/domain/user/User.java +++ b/test-service/src/main/java/io/bluemoon/testservice/domain/user/User.java @@ -1,10 +1,16 @@ -package io.bluemoon.testservice.domain; +package io.bluemoon.testservice.domain.user; import lombok.Data; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + @Data public class User { - + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; private String username; private String password; } diff --git a/test-service/src/main/java/io/bluemoon/testservice/domain/user/UserRepository.java b/test-service/src/main/java/io/bluemoon/testservice/domain/user/UserRepository.java index c6913e5..ce83a9c 100644 --- a/test-service/src/main/java/io/bluemoon/testservice/domain/user/UserRepository.java +++ b/test-service/src/main/java/io/bluemoon/testservice/domain/user/UserRepository.java @@ -1,4 +1,7 @@ package io.bluemoon.testservice.domain.user; -public interface UserRepository { +import org.springframework.data.jpa.repository.JpaRepository; + +public interface UserRepository extends JpaRepository { + } diff --git a/test-service/src/main/java/io/bluemoon/testservice/handler/CustomAuthFailureHandler.java b/test-service/src/main/java/io/bluemoon/testservice/handler/CustomAuthFailureHandler.java index 67351f6..acfbc5c 100644 --- a/test-service/src/main/java/io/bluemoon/testservice/handler/CustomAuthFailureHandler.java +++ b/test-service/src/main/java/io/bluemoon/testservice/handler/CustomAuthFailureHandler.java @@ -1,4 +1,4 @@ -package io.bluemoon.authorizationserver.config.handler; +package io.bluemoon.testservice.handler; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.AuthenticationException; diff --git a/test-service/src/main/resources/application.properties b/test-service/src/main/resources/application.properties index b1b73c2..5003d30 100644 --- a/test-service/src/main/resources/application.properties +++ b/test-service/src/main/resources/application.properties @@ -8,4 +8,4 @@ server.servlet.context-path=/api #security.oauth2.client.client-id=system1 #security.oauth2.client.client-secret=1234 #security.oauth2.resource.token-info-uri=http://127.0.0.1:8081/mk-auth/oauth/check_token -security.oauth2.resource.user-info-uri=http://127.0.0.1:8765/auth/user \ No newline at end of file +security.oauth2.resource.user-info-uri=http://127.0.0.1:8765/auth/check_token \ No newline at end of file diff --git a/test-service/src/main/resources/templates/signIn.html b/test-service/src/main/resources/templates/signIn.html index f6bb88b..9869906 100644 --- a/test-service/src/main/resources/templates/signIn.html +++ b/test-service/src/main/resources/templates/signIn.html @@ -5,7 +5,7 @@
-
+
@@ -24,14 +24,6 @@ - -
- Facebook -
- -
- Google -