From f1ecaec79cc8af36bcacca58227291bcfa9dbda1 Mon Sep 17 00:00:00 2001 From: hoon7566 Date: Fri, 4 Mar 2022 14:47:50 +0900 Subject: [PATCH] =?UTF-8?q?feat(customer=20vue,=20customer-gateway-service?= =?UTF-8?q?):=20SSL=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - customer vue SSL적용 - customer gateway service SSL적용 --- .../src/main/resources/application.yml | 8 ++++- .../src/main/resources/baeldung.p12 | Bin 0 -> 2717 bytes customer-vue/.env | 6 ++-- customer-vue/mydomain.key | 32 ++++++++++++++++++ customer-vue/src/api/store.js | 2 +- customer-vue/src/main.js | 7 ++++ customer-vue/trustService.cer | 21 ++++++++++++ customer-vue/vue.config.js | 6 ++++ .../domain/jwt/service/OAuthService.java | 2 +- 9 files changed, 78 insertions(+), 6 deletions(-) create mode 100644 customer-apigateway-service/src/main/resources/baeldung.p12 create mode 100644 customer-vue/mydomain.key create mode 100644 customer-vue/trustService.cer diff --git a/customer-apigateway-service/src/main/resources/application.yml b/customer-apigateway-service/src/main/resources/application.yml index f42e06c..508cf62 100644 --- a/customer-apigateway-service/src/main/resources/application.yml +++ b/customer-apigateway-service/src/main/resources/application.yml @@ -1,6 +1,12 @@ server: port: 8000 + ssl: + enabled: true + key-alias: baeldung + key-store-password: 1q2w3e4r! + key-store: classpath:baeldung.p12 + key-store-type: PKCS12 eureka: client: @@ -24,7 +30,7 @@ spring: globalcors: cors-configurations: '[/**]': - allowedOrigins: "http://just-pickup.com:8080" + allowedOrigins: "https://just-pickup.com:8080" allowedMethods: - GET - POST diff --git a/customer-apigateway-service/src/main/resources/baeldung.p12 b/customer-apigateway-service/src/main/resources/baeldung.p12 new file mode 100644 index 0000000000000000000000000000000000000000..ec10052b8d0afbd2f79915e2f6287867bfb3b0b9 GIT binary patch literal 2717 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 J1_Gv1{{`9=)7bz3 literal 0 HcmV?d00001 diff --git a/customer-vue/.env b/customer-vue/.env index 999a455..e05beaf 100644 --- a/customer-vue/.env +++ b/customer-vue/.env @@ -1,3 +1,3 @@ -VUE_APP_BASEURL=http://just-pickup.com:8080 -VUE_APP_OWNER_SERVICE_BASEURL=http://just-pickup.com:8001 -VUE_APP_CUSTOMER_SERVICE_BASEURL=http://just-pickup.com:8000 \ No newline at end of file +VUE_APP_BASEURL=https://just-pickup.com:8080 +VUE_APP_OWNER_SERVICE_BASEURL=https://just-pickup.com:8001 +VUE_APP_CUSTOMER_SERVICE_BASEURL=https://just-pickup.com:8000 \ No newline at end of file diff --git a/customer-vue/mydomain.key b/customer-vue/mydomain.key new file mode 100644 index 0000000..c5aec78 --- /dev/null +++ b/customer-vue/mydomain.key @@ -0,0 +1,32 @@ +Bag Attributes + friendlyName: apiencryptionkey + localKeyID: 54 69 6D 65 20 31 36 34 36 33 36 35 33 39 30 34 36 38 +Key Attributes: +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDRT+5bmhgNxTql +m0y1GKoz1duJItDGfVYnLCVElQclmNtXC/efPHdjtSDVE0m01BgMLoCZ1fD5Lhza +X1rxEabK/bPAUaPK+Yw0pIowKg7uhL5aB8iXKFSlCLS9kLbcQWVNHB/UsOKSRYQj +l7N0t71aTaV1v9tPpNlKwJXemIODahzCp0PBBS0cw4Bw0mw0ATne6+Zt8JmQNn7N +K5bpldAzu9STdm+NET7UtSI+A5DhVvTY0abOCgO/DJAqm2WYgm4hWYbnASe20u8v +Xbb9XOtTIt9a33ZyaQbl3YlQz2P+2C+Yy60dQ5PoqLDNcyDbRRhEA89ljt6ZqTsl +pCCjIV7FAgMBAAECggEAIuomZHlL0eA4bC9/mCXJHmRp/nIkSTfXCym9/bauPoNE +8zw3zgQUFjm8hE53WQaYDFAle4PIcohSn8qQLO442FuBhG8Z113RGWbo9ifN3dOe +vP3XY/+CPxU4sPZWyl7OOxKZ7Kyk3qlh5V4EvU948ntJQl8CgkKJTILbfQoLxfu7 +xWMS+eih5zI0qnhKTT6UqAFfgL6U/Xc+ZUDmsstS1537U8zgbSbYH4OzBpXxijfQ +yxG4J2sB+DO9FKJ71YVers3KNLbvf6Zyp8WCp+1x974sUk2yUXh8e89F8f7M+hVo +mdyNxVYHsMUN5IjectQprBB2hbfoo4hAMaViqpZYgQKBgQD+hEwd70GsMkCEN7Am +ZLpN/fgmjR0VCco/9YVNyevM8X9p0E5Pb8zTahxaP1kq3LrikZ4a+P+1wNpb+IJI +gvnHZWRYmWuh99yuwFmJqDZFXzbU5PnR/yva2RXTmWlCsK6ySdFBxjMiAdXIw3ln +SQK0O6kHTLXLQICtCTWjZW97LQKBgQDSiDHsqF7oDPrK1+HPR/84KL/eLX48xdT4 +w/7ODGoXbC5MLydG8JqQ7D18uWu6+Q53L9GV7AJPaqA8bg6ckZ5Ix3fTqmJfp8ek +y77l7CUC8HP0V+AZ7olfp7dGyA4Cv4pgAcRhXegkjvGpVih9cTny377ar7F93TZU +vZnB5tbQ+QKBgQDSDsxnlFTGUr8uoGtwdIfS4L4SyzpqZ6cVvIQlnHZRsisvYK2R +IDuTbSszTL9CAeT4I6iyqDkbf6x4ZZTZVcfiyorUGONdTR1E2RnM5BjOjnPJp6WL +rKc8OxipiB743KuCGCxtta/z7EHOLY6gMQDbUbYCgUw1EOpiZYxwa8JjjQKBgCI1 +gS88OJeqLEIzi/ybbUwZyvt2FvIXD0EQz+F5QO/nYyp76vzq8aKk0GTo2Cl8eK5D +NeIPhFyVLc5D79nfC4I17zGUmQGECLutY6qGkYkFu0Gz2bU8/lNttCkrLqOhrgFl +qBxOHv95vqjOWCvx7wGY+7EbJVMXU9G3MTnBoZw5AoGBAK/TWl02WbjkpSKPUn82 +3441hSMitxxwGPy1gELtECb87n52lNCOEIPY6Tw2fy1K5R5OoYtV4pvoATymJe8i +DEJobTpYYbi7uggWsNoHo7cKAsUOzdDrbzr3leL8wJmXtvs0tnW33KDv+zDQIc29 +fmd6fpr6VGXmsxEVCLCAP0sY +-----END PRIVATE KEY----- diff --git a/customer-vue/src/api/store.js b/customer-vue/src/api/store.js index 6c685a2..c1a8b8b 100644 --- a/customer-vue/src/api/store.js +++ b/customer-vue/src/api/store.js @@ -10,7 +10,7 @@ export default { page: page } } - return axios.get("http://localhost:8000/store-service/search-store", options); + return axios.get(process.env.VUE_APP_CUSTOMER_SERVICE_BASEURL+"/store-service/search-store", options); }, getCategoryList(){ return axios.get(process.env.VUE_APP_CUSTOMER_SERVICE_BASEURL+'/store-service/category/'); diff --git a/customer-vue/src/main.js b/customer-vue/src/main.js index 06d671f..b8f32fa 100644 --- a/customer-vue/src/main.js +++ b/customer-vue/src/main.js @@ -4,6 +4,7 @@ import vuetify from "@/plugins/vuetify"; import router from "./router/router.js"; import axios from "axios"; import auth from "@/api/auth"; +import jwt from "@/common/jwt"; axios.defaults.withCredentials = true; Vue.config.productionTip = false @@ -14,6 +15,12 @@ new Vue({ render: h => h(App), }).$mount('#app') +axios.interceptors.request.use(function (config) { + config.headers.Authorization = "Bearer " + jwt.getToken(); + return config; +}); + + axios.interceptors.response.use( (response) => { return response; diff --git a/customer-vue/trustService.cer b/customer-vue/trustService.cer new file mode 100644 index 0000000..59aaf3e --- /dev/null +++ b/customer-vue/trustService.cer @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEVZNDtTANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJL +UjEOMAwGA1UEBxMFU2VvdWwxHTAbBgNVBAoTFGpvbmVjb25zdWx0aW5nLmNvLmty +MRgwFgYDVQQLEw9BUEkgRGV2ZWxvcG1lbnQxFDASBgNVBAMTC0tlbm5ldGggTGVl +MB4XDTIyMDMwNDAzMzc0N1oXDTIyMDYwMjAzMzc0N1owbDELMAkGA1UEBhMCS1Ix +DjAMBgNVBAcTBVNlb3VsMR0wGwYDVQQKExRqb25lY29uc3VsdGluZy5jby5rcjEY +MBYGA1UECxMPQVBJIERldmVsb3BtZW50MRQwEgYDVQQDEwtLZW5uZXRoIExlZTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANFP7luaGA3FOqWbTLUYqjPV +24ki0MZ9VicsJUSVByWY21cL9588d2O1INUTSbTUGAwugJnV8PkuHNpfWvERpsr9 +s8BRo8r5jDSkijAqDu6EvloHyJcoVKUItL2QttxBZU0cH9Sw4pJFhCOXs3S3vVpN +pXW/20+k2UrAld6Yg4NqHMKnQ8EFLRzDgHDSbDQBOd7r5m3wmZA2fs0rlumV0DO7 +1JN2b40RPtS1Ij4DkOFW9NjRps4KA78MkCqbZZiCbiFZhucBJ7bS7y9dtv1c61Mi +31rfdnJpBuXdiVDPY/7YL5jLrR1Dk+iosM1zINtFGEQDz2WO3pmpOyWkIKMhXsUC +AwEAAaMhMB8wHQYDVR0OBBYEFJIAY9oDnROlKibW2EOHoD3j1GyaMA0GCSqGSIb3 +DQEBCwUAA4IBAQDQZzV1JKs0KMHBABhTjLFyIjOLcmyJpG0v06b10yqoOpRuCH0X +V4A72tUYvWwhT2qwfi8qb9ldBv1jSjOUnVwZ+G6dNAXKt2oUmOaQbQmqLgHR6OCL +Q4e7ovaqSV26+2KBM9baJrDwWVwsC2jtQ00N4sypbo+/6W8WxeeWJNx1STIKp2t7 +nk0N+2EEf4EZeUE4jkEgt4bCnVnVhhBqFdeMVpvLond2I2tS/OK4lc0Ctn+0meNv +moBdX7GbOVnBzm+fpXTab/feMF5ikzB9xPLURIIknhrU/k6wu1YNBiYUSgQtjWCt +NJi8m1ZHWPfw5gmoSTa60cNxts/RCoRV124p +-----END CERTIFICATE----- diff --git a/customer-vue/vue.config.js b/customer-vue/vue.config.js index 99fd690..2a394eb 100644 --- a/customer-vue/vue.config.js +++ b/customer-vue/vue.config.js @@ -1,6 +1,12 @@ +const fs = require("fs"); module.exports = { transpileDependencies: true, devServer:{ allowedHosts: 'all', + https: { + key: fs.readFileSync('mydomain.key'), + cert: fs.readFileSync('trustService.cer'), + } + } } diff --git a/user-service/src/main/java/com/justpickup/userservice/domain/jwt/service/OAuthService.java b/user-service/src/main/java/com/justpickup/userservice/domain/jwt/service/OAuthService.java index ce8ffde..76363a9 100644 --- a/user-service/src/main/java/com/justpickup/userservice/domain/jwt/service/OAuthService.java +++ b/user-service/src/main/java/com/justpickup/userservice/domain/jwt/service/OAuthService.java @@ -106,7 +106,7 @@ public class OAuthService implements OAuth2UserService