summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-12-08 10:06:45 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-12-08 10:06:45 +0000
commita346304c13b600c18bbea3f9ce21b1399b1310e9 (patch)
treef6b426e06d9a3d6d8f10acd9be63982226589725
parentb6a0f7509f4a58fd792b239a64e3f48269c73749 (diff)
(최겸) 환경변수 변경
-rw-r--r--.env.development17
-rw-r--r--.env.production6
-rw-r--r--components/signup/join-form.tsx49
3 files changed, 60 insertions, 12 deletions
diff --git a/.env.development b/.env.development
index df02cd91..4355596c 100644
--- a/.env.development
+++ b/.env.development
@@ -5,12 +5,12 @@ DB_POOL_MAX=4 # 풀 개수로, 일반적으로 (코어개수 * 1~2) 개 설정,
# === 보안 설정 ===
JWT_SECRET=dujin2tdofj1241.m
NEXTAUTH_SECRET=dujinsejinnejinojin1020202310245jldfmoi2eqjldsajfoadmmdlfjmomc.mv0qp3jem.alsmfmc.jl
-NEXT_PUBLIC_URL=http://43.203.251.114:3000
-NEXT_PUBLIC_BASE_URL=http://43.203.251.114:3001
-NEXTAUTH_URL=http://43.203.251.114:3000
+NEXT_PUBLIC_URL=http://3.36.92.165:3000
+NEXT_PUBLIC_BASE_URL=http://3.36.92.165:3001
+NEXTAUTH_URL=http://3.36.92.165:3000
# === 운영 DMZ용 변수 ===
-NEXT_PUBLIC_DMZ_URL=http://43.203.251.114:3000
+NEXT_PUBLIC_DMZ_URL=http://3.36.92.165:3000
# === 이메일 설정 ===
Email_Host=email-smtp.ap-northeast-2.amazonaws.com
@@ -28,8 +28,8 @@ NEXT_PUBLIC_MUI_KEY=da30586e1f20b93856a9783012fc9258Tz04ODI0MyxFPTE3NDQ0NTM2Nzgw
NEXT_PUBLIC_PDFTRON_WEBVIEW_KEY=demo:1757039735954:607627ca03000000009fbe27d193c6a4a10041a3102a62c7e804521034
NEXT_PUBLIC_PDFTRON_SERVER_KEY=demo:1740034881027:6175a0fc0300000000f155d153480e5ba091f17922a109cbd7cf6e40b3
# 메시어스 SPREAD JS
-NEXT_PUBLIC_SPREAD_LICENSE="43.203.251.114|60.101.108.100|evcp.dtsolution.io,261619561743613#B1ZaK2ycWtEd7Z4S0FENYlXOQhWRsd7M92GewBlQGV5Qu3WcZdESRJmZup4RwljYzoEettkToRFeZJ5LnBlRhdWSDZHbtdVTQBnZttiWHhWTntScoV6LtF6YrknUa9mVyV6RkljTWtCZ5ETZr24bLpnaXd4cUlXOuhTQvMWV8MWU524K5sWRiZnVzUjTPpESrMzaxJUdMlFVntiVLtkd4hVVax6K8sEMQBFdFRUekB7QwU7LsFWQC3Ed7gEWpd7bRtSOy26cJ56LE96T5REbqJ7bl36dEZXewcUR9wWR8lWZax4RSdUSL5mZ9cmWxFWTlRlTGhjUypGZvI4UplEMJdGSy9UVj54dJREWpl4QvR6bzdFN7sCcMBlZxgTTWt4cJpURyRkI0IyUiwiIBZTMxE4QzQjI0ICSiwyNyATMwgzN9ITM0IicfJye#4Xfd5nIIlkSCJiOiMkIsICOx8idgMlSgQWYlJHcTJiOi8kI1tlOiQmcQJCLiATN8IjMwACNyYDM5IDMyIiOiQncDJCLiQjM7ATNyAjMiojIwhXRiwiIvlmLu3Wa4VHbvNHdk9CcjZXZsADMx8COwEjLxATMuAjNsQTMx8SM5IjLzAjMuMDNiojIz5GRiwiIYWI1oO00UaI1wuY1US90iojIh94QiwiIzEjNzQzNxYTN9EjNxYjMiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TUYlDTrEGTjlnQtR4L52yK4UjbZNzcDlzYsFWdw96VEhTdVx4RrlGat3SRnRXcjpTNfh"
-NEXT_PUBLIC_DESIGNER_LICENSE="43.203.251.114|60.101.108.100|evcp.dtsolution.io,261619561743613#B1ZaK2ycWtEd7Z4S0FENYlXOQhWRsd7M92GewBlQGV5Qu3WcZdESRJmZup4RwljYzoEettkToRFeZJ5LnBlRhdWSDZHbtdVTQBnZttiWHhWTntScoV6LtF6YrknUa9mVyV6RkljTWtCZ5ETZr24bLpnaXd4cUlXOuhTQvMWV8MWU524K5sWRiZnVzUjTPpESrMzaxJUdMlFVntiVLtkd4hVVax6K8sEMQBFdFRUekB7QwU7LsFWQC3Ed7gEWpd7bRtSOy26cJ56LE96T5REbqJ7bl36dEZXewcUR9wWR8lWZax4RSdUSL5mZ9cmWxFWTlRlTGhjUypGZvI4UplEMJdGSy9UVj54dJREWpl4QvR6bzdFN7sCcMBlZxgTTWt4cJpURyRkI0IyUiwiIBZTMxE4QzQjI0ICSiwyNyATMwgzN9ITM0IicfJye#4Xfd5nIIlkSCJiOiMkIsICOx8idgMlSgQWYlJHcTJiOi8kI1tlOiQmcQJCLiATN8IjMwACNyYDM5IDMyIiOiQncDJCLiQjM7ATNyAjMiojIwhXRiwiIvlmLu3Wa4VHbvNHdk9CcjZXZsADMx8COwEjLxATMuAjNsQTMx8SM5IjLzAjMuMDNiojIz5GRiwiIYWI1oO00UaI1wuY1US90iojIh94QiwiIzEjNzQzNxYTN9EjNxYjMiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TUYlDTrEGTjlnQtR4L52yK4UjbZNzcDlzYsFWdw96VEhTdVx4RrlGat3SRnRXcjpTNfh"
+NEXT_PUBLIC_SPREAD_LICENSE="3.36.92.165|60.101.108.100|evcp.dtsolution.io,261619561743613#B1ZaK2ycWtEd7Z4S0FENYlXOQhWRsd7M92GewBlQGV5Qu3WcZdESRJmZup4RwljYzoEettkToRFeZJ5LnBlRhdWSDZHbtdVTQBnZttiWHhWTntScoV6LtF6YrknUa9mVyV6RkljTWtCZ5ETZr24bLpnaXd4cUlXOuhTQvMWV8MWU524K5sWRiZnVzUjTPpESrMzaxJUdMlFVntiVLtkd4hVVax6K8sEMQBFdFRUekB7QwU7LsFWQC3Ed7gEWpd7bRtSOy26cJ56LE96T5REbqJ7bl36dEZXewcUR9wWR8lWZax4RSdUSL5mZ9cmWxFWTlRlTGhjUypGZvI4UplEMJdGSy9UVj54dJREWpl4QvR6bzdFN7sCcMBlZxgTTWt4cJpURyRkI0IyUiwiIBZTMxE4QzQjI0ICSiwyNyATMwgzN9ITM0IicfJye#4Xfd5nIIlkSCJiOiMkIsICOx8idgMlSgQWYlJHcTJiOi8kI1tlOiQmcQJCLiATN8IjMwACNyYDM5IDMyIiOiQncDJCLiQjM7ATNyAjMiojIwhXRiwiIvlmLu3Wa4VHbvNHdk9CcjZXZsADMx8COwEjLxATMuAjNsQTMx8SM5IjLzAjMuMDNiojIz5GRiwiIYWI1oO00UaI1wuY1US90iojIh94QiwiIzEjNzQzNxYTN9EjNxYjMiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TUYlDTrEGTjlnQtR4L52yK4UjbZNzcDlzYsFWdw96VEhTdVx4RrlGat3SRnRXcjpTNfh"
+NEXT_PUBLIC_DESIGNER_LICENSE="3.36.92.165|60.101.108.100|evcp.dtsolution.io,261619561743613#B1ZaK2ycWtEd7Z4S0FENYlXOQhWRsd7M92GewBlQGV5Qu3WcZdESRJmZup4RwljYzoEettkToRFeZJ5LnBlRhdWSDZHbtdVTQBnZttiWHhWTntScoV6LtF6YrknUa9mVyV6RkljTWtCZ5ETZr24bLpnaXd4cUlXOuhTQvMWV8MWU524K5sWRiZnVzUjTPpESrMzaxJUdMlFVntiVLtkd4hVVax6K8sEMQBFdFRUekB7QwU7LsFWQC3Ed7gEWpd7bRtSOy26cJ56LE96T5REbqJ7bl36dEZXewcUR9wWR8lWZax4RSdUSL5mZ9cmWxFWTlRlTGhjUypGZvI4UplEMJdGSy9UVj54dJREWpl4QvR6bzdFN7sCcMBlZxgTTWt4cJpURyRkI0IyUiwiIBZTMxE4QzQjI0ICSiwyNyATMwgzN9ITM0IicfJye#4Xfd5nIIlkSCJiOiMkIsICOx8idgMlSgQWYlJHcTJiOi8kI1tlOiQmcQJCLiATN8IjMwACNyYDM5IDMyIiOiQncDJCLiQjM7ATNyAjMiojIwhXRiwiIvlmLu3Wa4VHbvNHdk9CcjZXZsADMx8COwEjLxATMuAjNsQTMx8SM5IjLzAjMuMDNiojIz5GRiwiIYWI1oO00UaI1wuY1US90iojIh94QiwiIzEjNzQzNxYTN9EjNxYjMiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TUYlDTrEGTjlnQtR4L52yK4UjbZNzcDlzYsFWdw96VEhTdVx4RrlGat3SRnRXcjpTNfh"
# SPREAD JS 내부망 eVCP 개발 (개발 배포시 이 키로 대체)
# NEXT_PUBLIC_SPREAD_LICENSE="60.101.108.100,674672615555322#B1dbvNkSiJXZDRFRYJVQHFWa6Y6KTVGV5cVWSRVWVlHejFlcvFWUFdGVzVVZVtEcsNjNvo5aHhjcSNVd6kzNvQUT9tCSxEXU6RzRrh5SxsUYqZjertEU7RWQu3yaDNXT5JmRIh7R6YnSGZlMDhkRqB7MIlTYvUWQFFzYulTTm3ENINEV7FWZMl4Q5cXSy96KthkVC3USvYXa8FnbtJWZFdlVSFmYwsEMKRkQxp6TRdGMLdVOTR7TMJEWiRGa6JncDRlWShTN9glc8FmQkBzdvMkUthHUoJGbOJGatVmUxtkRTVmeUlVWxJDN7kXQ6oHUwhEciZXNNJVOPBzc83UaTNmZVZ6aIxUcQdmcOJiOiMlIsICNzgTN5YTQyIiOigkIsYDM6gDN6YjM0IicfJye35XX3JCSJpkQiojIDJCLigTMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiIyQzMxkDMgQjM7ATNyAjMiojI4J7QiwiIwATMugDMx8SMwEjLwYjI0IyctRkIsIShXyetzqekkyesEyOvCyuI0ISYONkIsIiMyMTN5UTNxYjM7YDN7YjI0ICZJJCL35lI4VWZoNFdy3GclJlIsICdyFGaDFGdhRkIsISZsJWYUR7b6lGUiwiI4VWZoNFd49WYHJyW0IyZsZmIsU6csFmZ0IiczRmI1pjIs9WQisnOiQkIsISP3cXVw2meRZ4Yys4YB3UeaJkck9GWjhHUMVlU4gUcndlS63EWCB7YZh7bHBlVwBHe5kVcvEzc5N5aBZUZlJ6SpZHTHRFVjd5dxs6Yuh"
# NEXT_PUBLIC_DESIGNER_LICENSE="Designer-514482759413237#B1IdxRUVvQnMkFkYVBzLjRzZohUVWZnSiJWUO9WS4pnMLp5KJZ7dX3CelFlW53STTlkdLlzdYBFV6lzTLRGUKVWOU3UbR3GUXFWZxJ5K8lzTnpVcEBHT5p4Yqt6RvEXaTtWMrRmUWpGW5x6dZlzVM5GRjZXMNVGdKxUZptGVUlUWiRnZ7cnTndkWsRGZllTcDpXeVpWRIV5M9BDVkBFNElWUCd5ZzcUWLNjYPNXOl9ESVJTQ756MFlFWzcmcGFDcXt6dDdnV4YmejJHSnNUc6t4MxcXNzQkU9kFSBRGa73WNEtyR6MkZzsEbvRVVHdHWYVlMr2UTGFmZI3mWIdUTihWb43WY78Eaz3SV9d6UzU4R7V5YjJiOiMlIsISMFBjQ8kDRiojIIJCLxITMzUjN5cTN0IicfJye35XX3JCSJpkQiojIDJCLigTMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiI9QTOwMDMgEjM7ATNyAjMiojI4J7QiwiIw8CMuAjLw2icl96ZpNXZkJiOiMXbEJCLikCjGyOoEyOshyOngyOsxqOKFeJ15Or0RSK1xSI12KI1iojIh94QiwiI7MjMzEDN9UzNygDN4ETNiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZ5JHd0IiczRmI1pjIs9WQisnOiQkIsISP3E4N82mcKVkdBZ7butkQQNXcMJWNnVVMxE6aUZ4QXBldnZWcrAXM9lmS9FDbp9ERUV7Q9IndiNHd0plb7pmd5debKh"
@@ -199,4 +199,7 @@ DOLCE_LOCAL_UPLOAD_ABSOLUTE_DIRECTORY="/evcp/data/dolce"
# 권한관리
SKIP_ORACLE_PERMISSION_CHECK=true # 화면 조회 권한 확인 여부
-CHECK_NONSAP_AUTH_HOC=false # 서버액션 고차컴포넌트가 실제로 인가에 따라 실행을 막을지를 결정하는 환경변수 (권한 셋업이 되기 전까지는 false) \ No newline at end of file
+CHECK_NONSAP_AUTH_HOC=false # 서버액션 고차컴포넌트가 실제로 인가에 따라 실행을 막을지를 결정하는 환경변수 (권한 셋업이 되기 전까지는 false)
+
+# 도로명 주소 API 키-품질(1208 최겸)
+JUSO_API_KEY=U01TX0FVVEgyMDI1MTIwODE4MjI1NTExNjU0NTA= \ No newline at end of file
diff --git a/.env.production b/.env.production
index 0ad720c0..ebd1cc5a 100644
--- a/.env.production
+++ b/.env.production
@@ -28,8 +28,8 @@ NEXT_PUBLIC_MUI_KEY=da30586e1f20b93856a9783012fc9258Tz04ODI0MyxFPTE3NDQ0NTM2Nzgw
NEXT_PUBLIC_PDFTRON_WEBVIEW_KEY=demo:1757039735954:607627ca03000000009fbe27d193c6a4a10041a3102a62c7e804521034
NEXT_PUBLIC_PDFTRON_SERVER_KEY=demo:1740034881027:6175a0fc0300000000f155d153480e5ba091f17922a109cbd7cf6e40b3
# 메시어스 SPREAD JS
-NEXT_PUBLIC_SPREAD_LICENSE="43.203.251.114|60.101.108.100|evcp.dtsolution.io,261619561743613#B1ZaK2ycWtEd7Z4S0FENYlXOQhWRsd7M92GewBlQGV5Qu3WcZdESRJmZup4RwljYzoEettkToRFeZJ5LnBlRhdWSDZHbtdVTQBnZttiWHhWTntScoV6LtF6YrknUa9mVyV6RkljTWtCZ5ETZr24bLpnaXd4cUlXOuhTQvMWV8MWU524K5sWRiZnVzUjTPpESrMzaxJUdMlFVntiVLtkd4hVVax6K8sEMQBFdFRUekB7QwU7LsFWQC3Ed7gEWpd7bRtSOy26cJ56LE96T5REbqJ7bl36dEZXewcUR9wWR8lWZax4RSdUSL5mZ9cmWxFWTlRlTGhjUypGZvI4UplEMJdGSy9UVj54dJREWpl4QvR6bzdFN7sCcMBlZxgTTWt4cJpURyRkI0IyUiwiIBZTMxE4QzQjI0ICSiwyNyATMwgzN9ITM0IicfJye#4Xfd5nIIlkSCJiOiMkIsICOx8idgMlSgQWYlJHcTJiOi8kI1tlOiQmcQJCLiATN8IjMwACNyYDM5IDMyIiOiQncDJCLiQjM7ATNyAjMiojIwhXRiwiIvlmLu3Wa4VHbvNHdk9CcjZXZsADMx8COwEjLxATMuAjNsQTMx8SM5IjLzAjMuMDNiojIz5GRiwiIYWI1oO00UaI1wuY1US90iojIh94QiwiIzEjNzQzNxYTN9EjNxYjMiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TUYlDTrEGTjlnQtR4L52yK4UjbZNzcDlzYsFWdw96VEhTdVx4RrlGat3SRnRXcjpTNfh"
-NEXT_PUBLIC_DESIGNER_LICENSE="43.203.251.114|60.101.108.100|evcp.dtsolution.io,261619561743613#B1ZaK2ycWtEd7Z4S0FENYlXOQhWRsd7M92GewBlQGV5Qu3WcZdESRJmZup4RwljYzoEettkToRFeZJ5LnBlRhdWSDZHbtdVTQBnZttiWHhWTntScoV6LtF6YrknUa9mVyV6RkljTWtCZ5ETZr24bLpnaXd4cUlXOuhTQvMWV8MWU524K5sWRiZnVzUjTPpESrMzaxJUdMlFVntiVLtkd4hVVax6K8sEMQBFdFRUekB7QwU7LsFWQC3Ed7gEWpd7bRtSOy26cJ56LE96T5REbqJ7bl36dEZXewcUR9wWR8lWZax4RSdUSL5mZ9cmWxFWTlRlTGhjUypGZvI4UplEMJdGSy9UVj54dJREWpl4QvR6bzdFN7sCcMBlZxgTTWt4cJpURyRkI0IyUiwiIBZTMxE4QzQjI0ICSiwyNyATMwgzN9ITM0IicfJye#4Xfd5nIIlkSCJiOiMkIsICOx8idgMlSgQWYlJHcTJiOi8kI1tlOiQmcQJCLiATN8IjMwACNyYDM5IDMyIiOiQncDJCLiQjM7ATNyAjMiojIwhXRiwiIvlmLu3Wa4VHbvNHdk9CcjZXZsADMx8COwEjLxATMuAjNsQTMx8SM5IjLzAjMuMDNiojIz5GRiwiIYWI1oO00UaI1wuY1US90iojIh94QiwiIzEjNzQzNxYTN9EjNxYjMiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TUYlDTrEGTjlnQtR4L52yK4UjbZNzcDlzYsFWdw96VEhTdVx4RrlGat3SRnRXcjpTNfh"
+NEXT_PUBLIC_SPREAD_LICENSE="3.36.92.165|60.101.108.100|evcp.dtsolution.io,261619561743613#B1ZaK2ycWtEd7Z4S0FENYlXOQhWRsd7M92GewBlQGV5Qu3WcZdESRJmZup4RwljYzoEettkToRFeZJ5LnBlRhdWSDZHbtdVTQBnZttiWHhWTntScoV6LtF6YrknUa9mVyV6RkljTWtCZ5ETZr24bLpnaXd4cUlXOuhTQvMWV8MWU524K5sWRiZnVzUjTPpESrMzaxJUdMlFVntiVLtkd4hVVax6K8sEMQBFdFRUekB7QwU7LsFWQC3Ed7gEWpd7bRtSOy26cJ56LE96T5REbqJ7bl36dEZXewcUR9wWR8lWZax4RSdUSL5mZ9cmWxFWTlRlTGhjUypGZvI4UplEMJdGSy9UVj54dJREWpl4QvR6bzdFN7sCcMBlZxgTTWt4cJpURyRkI0IyUiwiIBZTMxE4QzQjI0ICSiwyNyATMwgzN9ITM0IicfJye#4Xfd5nIIlkSCJiOiMkIsICOx8idgMlSgQWYlJHcTJiOi8kI1tlOiQmcQJCLiATN8IjMwACNyYDM5IDMyIiOiQncDJCLiQjM7ATNyAjMiojIwhXRiwiIvlmLu3Wa4VHbvNHdk9CcjZXZsADMx8COwEjLxATMuAjNsQTMx8SM5IjLzAjMuMDNiojIz5GRiwiIYWI1oO00UaI1wuY1US90iojIh94QiwiIzEjNzQzNxYTN9EjNxYjMiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TUYlDTrEGTjlnQtR4L52yK4UjbZNzcDlzYsFWdw96VEhTdVx4RrlGat3SRnRXcjpTNfh"
+NEXT_PUBLIC_DESIGNER_LICENSE="3.36.92.165|60.101.108.100|evcp.dtsolution.io,261619561743613#B1ZaK2ycWtEd7Z4S0FENYlXOQhWRsd7M92GewBlQGV5Qu3WcZdESRJmZup4RwljYzoEettkToRFeZJ5LnBlRhdWSDZHbtdVTQBnZttiWHhWTntScoV6LtF6YrknUa9mVyV6RkljTWtCZ5ETZr24bLpnaXd4cUlXOuhTQvMWV8MWU524K5sWRiZnVzUjTPpESrMzaxJUdMlFVntiVLtkd4hVVax6K8sEMQBFdFRUekB7QwU7LsFWQC3Ed7gEWpd7bRtSOy26cJ56LE96T5REbqJ7bl36dEZXewcUR9wWR8lWZax4RSdUSL5mZ9cmWxFWTlRlTGhjUypGZvI4UplEMJdGSy9UVj54dJREWpl4QvR6bzdFN7sCcMBlZxgTTWt4cJpURyRkI0IyUiwiIBZTMxE4QzQjI0ICSiwyNyATMwgzN9ITM0IicfJye#4Xfd5nIIlkSCJiOiMkIsICOx8idgMlSgQWYlJHcTJiOi8kI1tlOiQmcQJCLiATN8IjMwACNyYDM5IDMyIiOiQncDJCLiQjM7ATNyAjMiojIwhXRiwiIvlmLu3Wa4VHbvNHdk9CcjZXZsADMx8COwEjLxATMuAjNsQTMx8SM5IjLzAjMuMDNiojIz5GRiwiIYWI1oO00UaI1wuY1US90iojIh94QiwiIzEjNzQzNxYTN9EjNxYjMiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TUYlDTrEGTjlnQtR4L52yK4UjbZNzcDlzYsFWdw96VEhTdVx4RrlGat3SRnRXcjpTNfh"
# SPREAD JS 내부망 eVCP 개발 (개발 배포시 이 키로 대체)
# NEXT_PUBLIC_SPREAD_LICENSE="60.101.108.100,674672615555322#B1dbvNkSiJXZDRFRYJVQHFWa6Y6KTVGV5cVWSRVWVlHejFlcvFWUFdGVzVVZVtEcsNjNvo5aHhjcSNVd6kzNvQUT9tCSxEXU6RzRrh5SxsUYqZjertEU7RWQu3yaDNXT5JmRIh7R6YnSGZlMDhkRqB7MIlTYvUWQFFzYulTTm3ENINEV7FWZMl4Q5cXSy96KthkVC3USvYXa8FnbtJWZFdlVSFmYwsEMKRkQxp6TRdGMLdVOTR7TMJEWiRGa6JncDRlWShTN9glc8FmQkBzdvMkUthHUoJGbOJGatVmUxtkRTVmeUlVWxJDN7kXQ6oHUwhEciZXNNJVOPBzc83UaTNmZVZ6aIxUcQdmcOJiOiMlIsICNzgTN5YTQyIiOigkIsYDM6gDN6YjM0IicfJye35XX3JCSJpkQiojIDJCLigTMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiIyQzMxkDMgQjM7ATNyAjMiojI4J7QiwiIwATMugDMx8SMwEjLwYjI0IyctRkIsIShXyetzqekkyesEyOvCyuI0ISYONkIsIiMyMTN5UTNxYjM7YDN7YjI0ICZJJCL35lI4VWZoNFdy3GclJlIsICdyFGaDFGdhRkIsISZsJWYUR7b6lGUiwiI4VWZoNFd49WYHJyW0IyZsZmIsU6csFmZ0IiczRmI1pjIs9WQisnOiQkIsISP3cXVw2meRZ4Yys4YB3UeaJkck9GWjhHUMVlU4gUcndlS63EWCB7YZh7bHBlVwBHe5kVcvEzc5N5aBZUZlJ6SpZHTHRFVjd5dxs6Yuh"
# NEXT_PUBLIC_DESIGNER_LICENSE="Designer-514482759413237#B1IdxRUVvQnMkFkYVBzLjRzZohUVWZnSiJWUO9WS4pnMLp5KJZ7dX3CelFlW53STTlkdLlzdYBFV6lzTLRGUKVWOU3UbR3GUXFWZxJ5K8lzTnpVcEBHT5p4Yqt6RvEXaTtWMrRmUWpGW5x6dZlzVM5GRjZXMNVGdKxUZptGVUlUWiRnZ7cnTndkWsRGZllTcDpXeVpWRIV5M9BDVkBFNElWUCd5ZzcUWLNjYPNXOl9ESVJTQ756MFlFWzcmcGFDcXt6dDdnV4YmejJHSnNUc6t4MxcXNzQkU9kFSBRGa73WNEtyR6MkZzsEbvRVVHdHWYVlMr2UTGFmZI3mWIdUTihWb43WY78Eaz3SV9d6UzU4R7V5YjJiOiMlIsISMFBjQ8kDRiojIIJCLxITMzUjN5cTN0IicfJye35XX3JCSJpkQiojIDJCLigTMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiI9QTOwMDMgEjM7ATNyAjMiojI4J7QiwiIw8CMuAjLw2icl96ZpNXZkJiOiMXbEJCLikCjGyOoEyOshyOngyOsxqOKFeJ15Or0RSK1xSI12KI1iojIh94QiwiI7MjMzEDN9UzNygDN4ETNiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZ5JHd0IiczRmI1pjIs9WQisnOiQkIsISP3E4N82mcKVkdBZ7butkQQNXcMJWNnVVMxE6aUZ4QXBldnZWcrAXM9lmS9FDbp9ERUV7Q9IndiNHd0plb7pmd5debKh"
@@ -203,3 +203,5 @@ DOLCE_LOCAL_UPLOAD_ABSOLUTE_DIRECTORY="/evcp/data/dolce"
SKIP_ORACLE_PERMISSION_CHECK=true # 화면 조회 권한 확인 여부
CHECK_NONSAP_AUTH_HOC=false # 서버액션 고차컴포넌트가 실제로 인가에 따라 실행을 막을지를 결정하는 환경변수 (권한 셋업이 되기 전까지는 false)
+# 도로명 주소 API 키-운영(1208 최겸)
+JUSO_API_KEY=U01TX0FVVEgyMDI1MTIwODE1MzkwMTExNjU0NDE= \ No newline at end of file
diff --git a/components/signup/join-form.tsx b/components/signup/join-form.tsx
index 6885279a..c6281b24 100644
--- a/components/signup/join-form.tsx
+++ b/components/signup/join-form.tsx
@@ -910,6 +910,32 @@ function CompleteVendorForm({
}: VendorStepProps) {
const [isSubmitting, setIsSubmitting] = useState(false);
const { toast } = useToast();
+ const effectiveCountry = data.country || accountData.country || "";
+ const isKR = effectiveCountry === "KR";
+
+ useEffect(() => {
+ const handleMessage = (event: MessageEvent) => {
+ if (!event.data || event.data.type !== "JUSO_SELECTED") return;
+ const { zipNo, roadAddrPart1, roadAddrPart2, addrDetail } = event.data.payload || {};
+ const combinedAddress = [roadAddrPart1, roadAddrPart2].filter(Boolean).join(" ").trim();
+ onChange(prev => ({
+ ...prev,
+ postalCode: zipNo || prev.postalCode,
+ address: combinedAddress || prev.address,
+ addressDetail: addrDetail || prev.addressDetail,
+ }));
+ };
+ window.addEventListener("message", handleMessage);
+ return () => window.removeEventListener("message", handleMessage);
+ }, [onChange]);
+
+ const handleJusoSearch = () => {
+ window.open(
+ "/api/juso",
+ "jusoSearch",
+ "width=570,height=420,scrollbars=yes,resizable=yes"
+ );
+ };
// 담당자 관리 함수들
const addContact = () => {
@@ -1259,13 +1285,28 @@ function CompleteVendorForm({
{/* 주소 */}
<div>
- <label className="block text-sm font-medium mb-1">
- {t('address')} <span className="text-red-500">*</span>
- </label>
+ <div className="flex items-center justify-between gap-2 mb-1">
+ <label className="block text-sm font-medium">
+ {t('address')} <span className="text-red-500">*</span>
+ </label>
+ {isKR && (
+ <Button
+ type="button"
+ variant="secondary"
+ size="sm"
+ onClick={handleJusoSearch}
+ disabled={isSubmitting}
+ >
+ 주소 검색
+ </Button>
+ )}
+ </div>
<Input
value={data.address}
onChange={(e) => handleInputChange('address', e.target.value)}
disabled={isSubmitting}
+ readOnly={isKR}
+ className={cn(isKR && "bg-muted text-muted-foreground")}
/>
</div>
@@ -1291,6 +1332,8 @@ function CompleteVendorForm({
value={data.postalCode}
onChange={(e) => handleInputChange('postalCode', e.target.value)}
disabled={isSubmitting}
+ readOnly={isKR}
+ className={cn(isKR && "bg-muted text-muted-foreground")}
placeholder="우편번호를 입력해주세요"
/>
</div>