From d704dbb04efcb8f276ed6c9db19da9fce086dd99 Mon Sep 17 00:00:00 2001 From: kimscott Date: Thu, 30 Jul 2020 14:05:14 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=8C=EC=9D=B4=ED=8A=B8=EC=9B=A8=EC=9D=B4?= =?UTF-8?q?=20=EC=9D=B8=EC=A6=9D=20=EC=BD=94=EB=93=9C=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20=EB=B0=8F=20=EB=B2=84=EC=A0=84=20=EC=A6=9D=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +-- .../template/JwkSetEndpointConfiguration.java | 31 ------------------ .../template/ResourceServerConfiguration.java | 15 +-------- src/main/resources/application.yml | 4 +-- src/main/resources/server.jks | Bin 2237 -> 0 bytes 5 files changed, 5 insertions(+), 49 deletions(-) delete mode 100644 src/main/java/com/example/template/JwkSetEndpointConfiguration.java delete mode 100644 src/main/resources/server.jks diff --git a/pom.xml b/pom.xml index fab53fb..30336c6 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 2.1.1.RELEASE + 2.3.2.RELEASE com.example @@ -15,7 +15,7 @@ 1.8 - Greenwich.SR2 + Hoxton.SR6 diff --git a/src/main/java/com/example/template/JwkSetEndpointConfiguration.java b/src/main/java/com/example/template/JwkSetEndpointConfiguration.java deleted file mode 100644 index b2d7e88..0000000 --- a/src/main/java/com/example/template/JwkSetEndpointConfiguration.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.example.template; - -import com.nimbusds.jose.jwk.JWKSet; -import com.nimbusds.jose.jwk.RSAKey; -import org.springframework.security.oauth2.provider.endpoint.FrameworkEndpoint; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; - -import java.security.KeyPair; -import java.security.Principal; -import java.security.interfaces.RSAPublicKey; -import java.util.Map; - -@FrameworkEndpoint -@RestController -public class JwkSetEndpointConfiguration { - KeyPair keyPair; - - public JwkSetEndpointConfiguration(KeyPair keyPair) { - this.keyPair = keyPair; - } - - @GetMapping("/.well-known/jwks.json") - @ResponseBody - public Map getKey(Principal principal) { - RSAPublicKey publicKey = (RSAPublicKey) this.keyPair.getPublic(); - RSAKey key = new RSAKey.Builder(publicKey).build(); - return new JWKSet(key).toJSONObject(); - } -} \ No newline at end of file diff --git a/src/main/java/com/example/template/ResourceServerConfiguration.java b/src/main/java/com/example/template/ResourceServerConfiguration.java index a79b23e..7548fdc 100644 --- a/src/main/java/com/example/template/ResourceServerConfiguration.java +++ b/src/main/java/com/example/template/ResourceServerConfiguration.java @@ -1,17 +1,14 @@ package com.example.template; + import org.springframework.cloud.gateway.config.GlobalCorsProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.io.ClassPathResource; import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; import org.springframework.security.config.web.server.ServerHttpSecurity; -import org.springframework.security.oauth2.provider.token.store.KeyStoreKeyFactory; import org.springframework.security.web.server.SecurityWebFilterChain; import org.springframework.web.cors.reactive.CorsConfigurationSource; import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; -import java.security.KeyPair; - @Configuration @EnableWebFluxSecurity public class ResourceServerConfiguration { @@ -41,14 +38,4 @@ public class ResourceServerConfiguration { .forEach(source::registerCorsConfiguration); return source; } - - @Bean - public KeyPair makeKeyPair(){ - KeyPair keyPair = new KeyStoreKeyFactory( - new ClassPathResource("server.jks"), "qweqwe".toCharArray()) - .getKeyPair("uengine", "qweqwe".toCharArray()); - return keyPair; - } - - } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b14fd20..2294a7d 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -9,7 +9,7 @@ spring: oauth2: resourceserver: jwt: - jwk-set-uri: http://localhost:8088/.well-known/jwks.json + jwk-set-uri: http://localhost:8090/.well-known/jwks.json cloud: gateway: routes: @@ -56,7 +56,7 @@ spring: oauth2: resourceserver: jwt: - jwk-set-uri: http://localhost:8080/.well-known/jwks.json + jwk-set-uri: http://oauth:8080/.well-known/jwks.json cloud: gateway: routes: diff --git a/src/main/resources/server.jks b/src/main/resources/server.jks deleted file mode 100644 index ad255a9f17f7d012ddfd4d9829b2efd982a138ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2237 zcmcgtS5OlQ7ELn{ks1h3lwL%dp(atJw*Ub_L5fHT5I_W0Kp{$i&`VGx6c<5BXpjEr zpcLsvnlup+2_4}n(gY+d>+G9-GyA_E=i{6^cjnHycg|&QFgE}I0O$n3UtkGz^C5Wp zxSep%c9q2<0N@k|Nro_y9MIFUP#^>-1L6h(PXQog$lBVvpYsazUK+=3=H_$L$MxTC z;pH89d`e@hB7NkF1>%-EK;d8ZK9$s@ zb38gjN>4dWf=S%DD^Tlbn3Nn*X=v0Y9g zOIO8j!RCftsJ2BEZB*OF^_qF!(P(QfW zD@HKb{Jd+&-0O?|t9p&;n*4&{$;W&!@I=>Qy!q)LM!)9=*q;@Ob~kc@R@tXZ^fL@v z#BHoKhb2*3J_UlDit>$p}gH>7}zWiz_l)ASYN-b|$U$V7+yw^SG}IA$w3_Be?csB%QM=uKOx z@ir-{u_bvc*oX~W8(X-)?AE7`!ln!<&I)Asg^G1JEBG8HI(jTsbW-A>pWfYgj}A0# z<9$Y(KVXDO-^#c zDZ>S_r3)Qr2v41fYclX2`q*~k!`IoXLt)iTTlFk%(oU0?-r7K&Y_l);$H~3Xl67dF zBMFuA$=1M`?IJqxAQvZ_D9p7{x9hq#A% zVQn(H2R*iqz$egFnGk)pCiHHWJ?s3!so{I9_MOF8{N3fq4b9wgVlyTEXmw=dq=+r!sC04c=Ju82V@ zE1{7nWu&62-7l)9r1l^Bf1HF26#KgkCtm_g266(BWZ-EK83+Vq2z01b#k6e{=&{=YI$xOd zKHo8VQQfCwuvJa|S=J?0G|F0BbyT>R^J!XHe@AX9r#0&7&Oiz2+j<9FEL&f@3*kUo zy+q3l1zaSpyw+h2I#lCzuqc%@d0wS%d*^lbrfXp$Gjn{K7fqB=llQ|bmzv4@nPnk4jg%d4iLA>t`|9<36(T((4yjd% zX93Vis-Rs7I@q{SjoHfbwE6qR)td&wau$<=$b-*2cH}J(7zhB;MUlct!ILctazGFe z-bQZq%#K-casQtcM6~7(zaPr|<=;&_xup{mfdH-xRK+~y=kXegO^b4Y@~+p9c5Vl- z1r_D&Bebzt3h*w1Ku)X;r$10h6h0b|NT52Nk4e-6umUQqY zm#JsS(7PkorM8hWlt(bD^!-OrbVvqKHgGtMpCnN;I3K&J)5;BvYY;tyv1WMwu|xVR4*DTo!g$sVCX7!uPI#pET7 wh