From ff2524bcfa1e095d2db8f551e5d775aa7ec9f5dc Mon Sep 17 00:00:00 2001 From: nevermoregb Date: Mon, 17 Feb 2025 09:23:44 +0900 Subject: [PATCH] =?UTF-8?q?=EC=84=B8=EC=85=98=20=EC=BF=A0=ED=82=A4=20?= =?UTF-8?q?=EC=9C=A0=EC=A7=80=EB=A5=BC=20=EC=9C=84=ED=95=9C=20https=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- localhost-key.pem | 28 ++++++++++++++++++++++++++++ localhost.p12 | Bin 0 -> 2934 bytes localhost.pem | 26 ++++++++++++++++++++++++++ package.json | 1 + src/common/axios-interceptor.js | 4 ++-- src/components/user/LoginForm.vue | 7 +++---- vite.config.js | 19 +++++++++++++------ 7 files changed, 73 insertions(+), 12 deletions(-) create mode 100644 localhost-key.pem create mode 100644 localhost.p12 create mode 100644 localhost.pem diff --git a/localhost-key.pem b/localhost-key.pem new file mode 100644 index 0000000..c41b01d --- /dev/null +++ b/localhost-key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDnTJneuEjlCk/g +mzUQyeI9xWdr5TiYz+/HVdIR91PlswECLXiW+j420ARQ+Dpx8JY1sts9kMki/jnD +8cNFMwSOnJADwyW+bZZYAdGd/OpyyNQWjm903pKntBKDYULebEnviMDQz7+M6J9Y +cVqWSRTMR6VizSYIQ0vIUqQZaISp/TKLvTssjLjwz6DIYtZ2GQ06lAZYmvX6UhSl +32xJQ6GWf4Jnemn/2bKYFGk88d4ORfrhpD1JV3lGQGk0HU/pI8R017pKxq9lq/c4 +d8hqN0CdkQUv0lFw6DQgm3etOVOajlY4eDj+Q3mDCERT8meH1PXfuTsHBtTMHxoA +iRtu4YoZAgMBAAECggEBAMti1DrAGXktpCeA0xy8KTDgEJ0TprzYu6Owl1QtA50L +1msvyMYZrfNM3z7Dx8DBKZR2fcqZMgSPQARI5shGoE825HwqcVoNyxIAJ26hIxdj ++PsMrH076gGFmnHkaIRk/G6g9cunomwpcVS3+EwGXz9yEL/cXQEPC+hOovWkrmM6 +Ec1oAsqs9DjrK+HzOOcaBuv0Rz9pI7Gob5LQAp8tqOCI4CvP6sdfooSsucCoqB6V +xQAakXbsidamWcLtYkTjY2zYVhHvVMk1H5krfgrsoGIaym/QTnk+YQYFd5jt4FiJ +ziLZXiZJOeJXJVdlAcJF9aUlO48OAKJeBoq3NkcbxbECgYEA+a2pJ6BN8xKvWyZJ +QnpWL5irVKUJF7l1cFvaNJJu4XMS3CfJqdA9X0b7Zuu/8zOdj+5eNpK6Mpz65+mx ++/ToYNYoMewFXlfDpcIpT4FdBJAKsKMua2UlTzOI7DxSrcAGD0nItK3ZovpzmNJo +H90maU0gib0CSsFVvsAsnVVSawcCgYEA7SfP8tc23txMbLzz+9DjlmeqT2v1XI/P +QZEwCO6AIjbbJw3iFYjIgkd86gVGRwIdYEfNoiIk8KT4dMsW4jiwalFa/fA+HW69 +pqMf1PFnxNPZim592EANVjzzkN4jm63QzIAFiGcN2K99ltjUWrfrzLkkiFR6ENHF +dgIpWTyAed8CgYBH/CCr8xTmQvnZzsUKbJkSqfKjud1QQMEyPtk/lQRw7at/W91R +n19CbAWpm8jAxp3j1HbHRzB1zTqtyHvvR6ID4Vq/Yev+UlFvJfahHIwD97+NQ87r +WcMS/am5an7v51AX8k7ygLkhuxG++tLYdPtRGtKJw7u4b9tX3rI+Pk4/2wKBgQCn +CIZ3ZMuZ1hHh+Ifj0bGqSqNywvgS1JtGdAsgD1OiRX6/mBCn2CpZUB6T+VkRRFUK +bihQTLo14Au6vxwEA6eFin2LI72sH0ZmarhN1CWhRREQZlguipaaKd3nJ/5udNL+ +ZiD/fI4NEzVinJ+csbPcAn7PoqhC1my8fDNBTdKzgwKBgQCvH0MEpkZefqN82CNn +CuJeQYb48mkFgihICeTsfIeG7XsGqfCOlzbJqxCbTX+Na7FUdtmtJUznK+rVGOPh +p+pAw8RbZSIvgzCO1vv0wSHsXxXsieOgwJPZeQqsBWhRs77Ggf9jhIzxcQJuIor3 +l7Nxg0eoiqP/rYFyOh83nebPQg== +-----END PRIVATE KEY----- diff --git a/localhost.p12 b/localhost.p12 new file mode 100644 index 0000000000000000000000000000000000000000..800656159df6a5d9a24a99d4f9cdd344daa089f5 GIT binary patch literal 2934 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 F{{!2*RO { if (res.status === 200) { - // TODO: 개발용 로그인 쿠키세팅이므로 차후 삭제 - const sessionCookie = res.data.data; - document.cookie = `JSESSIONID=${sessionCookie};path=/;expires=-1;`; - document.cookie = `JSESSIONID=${sessionCookie};path=/`; + // const sessionCookie = res.data.data; + // document.cookie = `JSESSIONID=${sessionCookie};path=/;expires=-1;`; + // document.cookie = `JSESSIONID=${sessionCookie};path=/;HttpOnly=true;samesite=lax`; userStore.userInfo(); router.push('/'); diff --git a/vite.config.js b/vite.config.js index 617eec4..6d58ffd 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,13 +1,20 @@ -import { fileURLToPath, URL } from 'node:url' -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueDevTools from 'vite-plugin-vue-devtools' +import { fileURLToPath, URL } from 'node:url'; +import { defineConfig } from 'vite'; +import vue from '@vitejs/plugin-vue'; +import vueDevTools from 'vite-plugin-vue-devtools'; +import mkcert from 'vite-plugin-mkcert'; // https://vite.dev/config/ export default defineConfig({ plugins: [ vue(), vueDevTools(), + // 자신의 로컬 서버에 연결하려면 이부분 주석처리 + mkcert({ + // SSL 키 등록 + keyFile: '/localhost-key.pem', + certFile: '/localhost.pem', + }), ], resolve: { alias: { @@ -18,7 +25,7 @@ export default defineConfig({ '@l': fileURLToPath(new URL('./src/layout/', import.meta.url)), '@s': fileURLToPath(new URL('./src/stores/', import.meta.url)), '@p': fileURLToPath(new URL('./src/common/plugin/', import.meta.url)), - "@api": fileURLToPath(new URL('./src/common/axios-interceptor.js', import.meta.url)) + '@api': fileURLToPath(new URL('./src/common/axios-interceptor.js', import.meta.url)), }, }, -}) +});