package-lock.json 은 npm 버전에 따라서 바뀔 수 있기 때문에, npm 버전을 맞추어야 한다.
NodeJS 특정 버전 설치하기 위해서는 NodeJS 홈페이지에서 버전 다운로드 받아 설치하면 된다. NPM 은 다음 명령어로 특정 버전을 설치 하면 된다.
``bash $ npm i -g npm@7.6.1 `
AWS S3 설정
S3에 올린 파일에 웹브라우저로 접근하기 위해서는 버킷의 권한을 퍼블릭으로 열어야 한다. AWS S3 콘솔에서 "퍼블릭 엑세스 차단"을 모두 체크 하지 않게 한 후, 파일을 올릴때 ACL 값을 public-read 로 업로드 하면 웹브라우저를 통해서 주소로 파일에 접근 가능 하다.
S3 URL 주소는 다음과 같은 형태로 만들어 지는 것으로 보인다. ` https://com-ckstack-test.s3.ap-northeast-2.amazonaws.com/ras5/mscore/021b4b71dcc059569f2034aef63ef44f https://<버킷명>.s3.<리전명>.amazonaws.com/`
위의 예에서 "ras5/mscore/021b4b71dcc059569f2034aef63ef44f" 가 object key 이다. 마치 디렉토리 처럼 보이지만, 디렉토리가 아니고, "/" 도 그냥 object key 에 들어가 있는 문자 이다.
데이터 템플릿이란
다이나믹한 데이터를 수용하기 위해서 데이터 템플릿이란 개념을 사용 한다.
$3
템플릿을 구성하는 요소이며 다음 항목으로 정의 한다.
- type : {string} [mandatory] 템플릿 항목 구분. input, text, number, array, object 으로 값 고정 되어 있음. - name : {string} [mandatory] 템플릿을 사용하여 데이터가 구성 될때의 데이터 키. - label : {string} [mandatory] 템플릿을 사용하여 데이터가 구성 될때의 데이터 이름. 웹에서 보여 줄때 사람이 판단 할 수 있는 데이터 이름. - mandatory : {boolean} [optional] 템플릿 항목이 값 입력이 필수인지 아닌지 판단 하는 값. true 이면 필수. - maxlen : {number} [optional] type 이 input, text 일때 문자열 길이(byte 가 아니라 문자열 길이) 제한하는 값. - line : {number} [optional] type 이 text 일때 텍스트 입력의 라인수. - min : {number} [optional] type 이 number 일때 입력 가능한 숫자의 최소값. - max : {number} [optional] type 이 number 일때 입력 가능한 숫자의 최대값. - data : {object} [optional | mandatory on object, array] type 이 array, object 일때 구성 요소. array 라면 내부에 input, text, number 구성을 포함 할 수 있다. object 라면 내부에 input, text, array, object 를 포함 할 수 있다.(object 도 포함 가능 하지만, 에디터 구성이 힘들기 때문에 웬만하면 사용하지 말자) array 에 사용되는 구조와 object 에서 사용하는 구조가 다른 것에 주의 한다. array type 내부에 array, type 은 추가 될 수 없다. - depth : {number} [optional | mandatory on object] type 이 object 일때 object tree 항목의 depth. 0 부터 시작 한다.
$3
템플릿 구조는 다음과 같이 정의 된다.
1. 한줄 문자열
한줄 문자를 입력하기 위한 구조 이다. 에디터에서는 한줄 짜리 html [input=text] 로 표시 된다. 구조 예시는 다음과 같다.
여러개의 값을 입력(열거형)하기 위한 구조이다. 에디터에서는 html editable dropdown 또는 tree 으로 표시 될 것이다. 동일한 형태의 값으로만 구성 된다. 예시는 다음과 같다.(data 에 포함되는 name, label, mandatory 는 array 와 동일한 값으로 설정 한다.)
- PG_TIME_ZONE : 기본 타임존 - PG_LANG : 기본 언어 - PG_LOG_LEVEL : 로그 레벨 - PG_FILE_ERR_MILLI_SEC : 파일 처리 제한 시간. 파일 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위 - PG_PROC_ERR_MILLI_SEC : 로직 처리 제한 시간. 로직 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위 - PG_SQL_ERR_MILLI_SEC : SQL 처리 제한 시간. SQL 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위 - PG_REDIS_ERR_MILLI_SEC : Redis 처리 제한 시간. Redis 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위 - PG_INFLUX_ERR_MILLI_SEC : Influx 처리 제한 시간. Influx 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위 - PG_MQTT_PUB_ERR_MILLI_SEC : Mqtt publish 처리 제한 시간. Mqtt publish 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위 - PG_GRPC_ERR_MILLI_SEC : GRPC 서버 연동 제한 시간. GRPC 연동시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위 - PG_DB_COUNT : RDBMS 연결 개수. 스키마별로 연결시 여러개의 연결을 할 수 있다. - PG_DB1_DIALECT : RDBMS 종류. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. 현재는 mysql 만 지원 - PG_DB1_HOST : RDBMS host. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_DB1_PORT : RDBMS port. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_DB1_POOL_MAX_COUNT : Maximum number of connection in pool. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_DB1_POOL_IDLE : The maximum time, in milliseconds, that a connection can be idle before being released. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_DB1_POOL_ACQUIRE : The maximum time, in milliseconds, that pool will try to get connection before throwing error. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_DB1_SCHEMA : RDBMS database(schema) name. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_DB1_USER : RDBMS 연결 유저 아이디. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_DB1_PASSWORD : RDMS 연결 유저 비밀번호. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_DB1_MODEL_ABS_PATH : Sequelize Table model 이 들어 있는 경로. building 이후의 경로로 설정 되어야 함.(소스 경로 아님) - PG_TUNNEL_DB_COUNT : ssh tunnel 을 통한 RDBMS 연결 개수. 스키마별로 연결시 여러개의 연결을 할 수 있다. - PG_TUNNEL_DB1_PROXY_HOST : RDBMS 연결을 위한 tunnel server host. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_PROXY_PORT : RDBMS 연결을 위한 tunnel server port. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_PROXY_USER_ID : RDBMS 연결을 위한 tunnel 서버의 로그인 유저 아이디. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_PROXY_USER_PASSWORD : RDBMS 연결을 위한 tunnel 서버의 로그인 유저 비밀번호. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_PROXY_USER_PASSWORD_PEM_PATH : RDBMS 연결을 위한 tunnel 서버의 로그인 인증서. 비밀번호 대신 인증서로 로그인 할 수 있음. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_DATABASE_SERVER_HOST : tunnel 서버에서 접근할 RDBMS 서버 주소. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_DATABASE_SERVER_PORT : tunnel 서버에서 접근할 RDBMS 서버 포트. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_DIALECT : tunnel 서버를 통해 연결될 RDBMS 종류. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_PORT : tunnel 을 연결하는 local 에서 tunnel 연결을 위해 사용하는 포트. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_POOL_MAX_COUNT : Maximum number of connection in pool. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_POOL_IDLE : The maximum time, in milliseconds, that a connection can be idle before being released. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_POOL_ACQUIRE : The maximum time, in milliseconds, that pool will try to get connection before throwing error. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_SCHEMA : tunnel 을 통해서 연결되는 RDBMS database(schema) name. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_USER : tunnel 을 통해서 연결되는 RDBMS 연결 유저 아이디. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_PASSWORD : tunnel 을 통해서 연결되는 RDMS 연결 유저 비밀번호. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_TUNNEL_DB1_MODEL_ABS_PATH : Sequelize Table model 이 들어 있는 경로. building 이후의 경로로 설정 되어야 함.(소스 경로 아님) - PG_REDIS_COUNT : redis 연결 개수 - PG_REDIS1_HOST : redis host. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_REDIS1_PORT : redis port. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_REDIS1_PASSWORD : redis 연결 비밀번호. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_REDIS1_DB : redis db number. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_MQTT_BROKER_COUNT : Mqtt broker 설정 개수 - PG_MQTT_BROKER1_PROTOCOL : mqtt 프로토콜. mqtt, mqtts 둘 중 하나 - PG_MQTT_BROKER1_HOST : mqtt host - PG_MQTT_BROKER1_PORT : mqtt port - PG_MQTT_BROKER1_CLIENT_ID : mqtt client id prefix - PG_MQTT_BROKER1_USER_ID : mqtt broker 에 접근하기 위한 user id. anonymous 라면 값을 주지 않는다. - PG_MQTT_BROKER1_USER_PASSWORD : mqtt broker 에 접근하기 위한 user password. anonymous 라면 값을 주지 않는다. - PG_MQTT_BROKER1_KEEP_ALIVE : keepalive는 초 단위이고, 0 이면 disable 된다. 특정 설정이 없으면 60으로 값을 준다. - PG_MQTT_BROKER1_RECONNECT_PERIOD : reconnect period 는 milli-sec 단위이고, 0 이면 자동 reconnect 를 하지 않는다. 특정 설정이 없다면 1000으로 값을 준다. - PG_MQTT_BROKER1_CONNECT_TIMEOUT : CONNACK 을 받을때 까지 대기 시간이며, milli-sec 단위이다. 특정 설정이 없다면 10000으로 값을 준다. - PG_MQTT_BROKER1_TLS_SELF_SIGNED : tls 를 사용하여 연결 할때, 인증서가 self-sign 인지 여부이다. true 이면 self-signed 인증임. tls 사용하지 않으면 값을 주지 않는다. - PG_MQTT_BROKER1_TLS_KEY_PATH : 인증서 key 파일의 파일 패스. nginx에서 사용하는 key 파일을 사용하면 됨. tls 사용하지 않으면 값을 주지 않는다. - PG_MQTT_BROKER1_TLS_CERT_PATH : 인증서 cert 파일의 파일 패스. nginx에서 사용하는 cert 파일을 사용하면 됨. tls 사용하지 않으면 값을 주지 않는다. - PG_MQTT_BROKER1_WILL_TOPIC : 비정상적인 연결 종료일때, 발생되는 메시지의 토픽. will 을 사용하지 않으면 값을 주지 않는다. - PG_AWS_S3_COUNT : AWS S3 버킷 설정 개수 - PG_AWS1_S3_SIGNATURE_VERSION : S3 버전. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_AWS1_S3_REGION : S3 리전. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_AWS1_S3_BUCKET : S3 버킷. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_AWS1_S3_ACCESS_KEY_ID : S3 연결 access key. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_AWS1_S3_SECRET_ACCESS_KEY : S3 연결 secret. 여러개 연결시 1, 2, 3 형태로 사용한다. 1 부터 시작임. - PG_AWS1_S3_ACL : S3 acl - PG_MSCORE_DB_INDEX : ms-core 로직의 DB index. RDBMS index 번호임. 0 부터 시작. - PG_MSCORE_LIMIT_UPDATE_APP : 한 번에 변경 할 수 있는 app 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_APP : 한 번에 삭제 할 수 있는 app 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_APP_VERSION : 한 번에 변경 할 수 있는 app version 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_APP_VERSION : 한 번에 삭제 할 수 있는 app version 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_ROLE : 한 번에 변경 할 수 있는 role 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_ROLE : 한 번에 삭제 할 수 있는 role 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_MENU : 한 번에 변경 할 수 있는 menu 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_MENU : 한 번에 삭제 할 수 있는 menu 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_FILE : 한 번에 변경 할 수 있는 file 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_FILE : 한 번에 삭제 할 수 있는 file 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_TEMPLATE_GROUP : 한 번에 변경 할 수 있는 template group 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_TEMPLATE_GROUP : 한 번에 삭제 할 수 있는 template group 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_TEMPLATE : 한 번에 변경 할 수 있는 template 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_TEMPLATE : 한 번에 삭제 할 수 있는 template 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_LANG : 한 번에 변경 할 수 있는 support lang 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_LANG : 한 번에 삭제 할 수 있는 support lang 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_USER : 한 번에 변경 할 수 있는 user 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_USER : 한 번에 삭제 할 수 있는 user 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_URL_KEY : 한 번에 삭제 할 수 있는 url key 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_MQTT_SERVER : 한 번에 변경 할 수 있는 mqtt server 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_MQTT_SERVER : 한 번에 삭제 할 수 있는 mqtt server 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_LIMIT_UPDATE_MQTT_USER : 한 번에 변경 할 수 있는 mqtt user 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 변경되면 에러 처리 됨. - PG_MSCORE_LIMIT_DELETE_MQTT_USER : 한 번에 삭제 할 수 있는 mqtt user 의 row 개수 제한. 0 이면 제한 없음. 설정 개수 보다 더 많이 삭제되면 에러 처리 됨. - PG_MSCORE_S3_FILE_UPLOAD : 파일 저장시에 S3에도 같이 저장 할지 여부. true 이면 S3 에도 같이 저장됨. - PG_MSCORE_S3_FILE_UPLOAD_INDEX : 파일 저장시 S3 에 파일 업로드시 사용될 S3 설정 index 번호. 0 부터 시작. - PG_MSCORE_S3_FILE_UPLOAD_PREFIX : 파일 저장시 S3 파일 업로드 할때 붙는 S3 object prefix. 가장 앞에 '/' 를 붙이지 않고, 가장 마지막에 '/'를 붙인다. - PG_MSCORE_S3_FILE_UPLOAD_ERR_MILLI_SEC : 파일 저장시 S3 파일 업로드 제한 시간. 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위 - PG_MSCORE_USE_EMAIL_CONFIRM : 유저가 email 을 체크 했는지, 하지 않았는지 체크 여부. true 일 경우 이메일 확인을 하지 않으면 API 에러 처리 된다. - PG_MSCORE_LOGIN_FAIL_COUNT_LIMIT : 로그인을 block 하는 로그인 실패 카운트. 0 이면 로그인 실패 카운트가 증가하더라도, 로그인 block 하지 않고, 0 보다 큰 값이면 설정된 값 보다 로그인 실패 되면 로그인 block 된다. - PG_MSCORE_ACCESS_TOKEN_ALIVE_TM : 접속 토큰 유지 시간. sec 단위. - PG_MSCORE_ACCESS_TOKEN_AUTO_KEEP_ALIVE : 접속 토큰 자동 연장 여부. true 라면 API 사용 할때 마다 접속 토큰 만료 시간이 연장 된다. - PG_MSCORE_CHECK_API_REQUEST_TIME : API 호출시 클라이언트와 서버 시간 비교 여부. true 라면 비교 한다. - PG_MSCORE_CONFIRM_API_REQUEST_PERIOD : 클라이언트와 서버 시간 비교 기능을 사용 할때, 비교 간격. (서버 시간 - 시간 간격) ~ (서버 시간 + 시간 간격) 으로 비교 된다. - PG_MSCORE_USE_BACKDOOR_SIGNATURE : backdoor API signature 를 사용 할지 여부. true 라면 사용 한다. - PG_MSCORE_BACKDOOR_SIGNATURE : backdoor API signature 를 사용 할때, backdoor signature 의 값 - PG_MSCORE_AUTH_CODE_EXPIRE_SEC : 휴대폰 번호 또는 이메일 확인을 위한 인증 코드 만료 시간 간격. 초 단위 - PG_MSCORE_AUTH_CODE_LENGTH : 인증 코드의 길이. 숫자 스트링의 길이임. - PG_MSCORE_AUTH_CODE_SENDER_NAME : 이메일로 인증 코드 발송시 메일 발송자의 이름. smtp 서버에 따라 설정 되지 않을 수 있음 - PG_MSCORE_AUTH_CODE_SENDER_EMAIL_ADDRESS : 이메일로 인증 코드 발송시 메일 발송자의 이메일 주소. smtp 서버에 따라 설정 되지 않을 수 있음 - PG_MSCORE_AUTH_CODE_MAIL_SUBJECT : 이메일로 인증 코드 발송시 메일 제목 - PG_MSCORE_AUTH_CODE_MAIL_TEMPLATE_PATH : 이메일로 인증 코드 발송시 메일 본문 템플릿 파일 경로. 왠만하면 기본으로 사용 하도록 한다. - PG_MSCORE_SMTP_HOST : 이메일 발송을 위한 smtp host - PG_MSCORE_SMTP_PORT : 이메일 발송을 위한 smtp port - PG_MSCORE_SMTP_SECURE : smtp secure 사용 여부. true, false 둘 중 하나 - PG_MSCORE_SMTP_USER : 이메일 발송을 위한 smtp 유저 아이디 - PG_MSCORE_SMTP_PASSWORD : 이메일 발송을 위한 smtp 유저 비밀번호 - PG_MSCORE_SMTP_SELF_SIGNED : 메일 발송 서버가 self signed 인증서를 사용하는지 여부. self signed 인증서를 사용하면 true - PG_MSCORE_SMTP_REQUIRE_TLS : 지메일을 위한 TLS 옵션 - PG_MSCORE_SMTP_GMAIL_CLIENT_ID : 지메일을 사용한 메일 발송시 Oauth2 를 이용한 로그인 처리를 위한 값 - PG_MSCORE_SMTP_GMAIL_CLIENT_SECRET : 지메일을 사용한 메일 발송시 Oauth2 를 이용한 로그인 처리를 위한 값 - PG_MSCORE_SMTP_GMAIL_REFRESH_TOKEN : 지메일을 사용한 메일 발송시 Oauth2 를 이용한 로그인 처리를 위한 값 - PG_MSCORE_SMTP_GMAIL_ACCESS_TOKEN : 지메일을 사용한 메일 발송시 Oauth2 를 이용한 로그인 처리를 위한 값 - PG_MSCORE_LINK_KEY_EXPIRE_SEC : 값을 주지 않았을때 사용되는 Url link key 만료 시간 간격. 생성일로 부터 설정 기간 이후에 자동 폐기 된다. - PG_MSCORE_LINK_KEY_URL : URL Link key 의 URL 패턴. 가 url link key 의 rid, 가 url link key 의 expire_date milli-timestamp reverse 로 변경 된다.