Skip to content

dotEnv guide

redgoose edited this page Aug 10, 2020 · 8 revisions

Make .env file

최초에 ./script.sh ready 명령으로 프로그램을 인트톨을 할때 .env파일을 만듭니다.
원본은 resource/.env.example파일에서 복사하기 때문에 원본 설정값을 참고할 수 있습니다. .env 파일이 삭제되었다면 원본파일을 참고하여 새로 만들 수 있습니다.

.env values guide

.env에 들어있는 설정값들에 대한 가이드입니다.

SERVICE_NAME

사용하는 서비스 이름입니다.


TOKEN_KEY

토큰을 만들기위한 key 값입니다.

이 값이 변하면 토큰을 새로 만들어야 합니다.
반드시 최대한 어려운 문자로 사용하세요!

TOKEN_ID

토큰 해석을 더욱 어렵게 만들어진 고유값입니다.

이 값이 변하면 토큰을 새로 만들어야 합니다.

TOKEN_ACCESS_DAY

엑세스 토큰 만료기간입니다. (단위:day)

사용자 로그인했을때 만들어진 토큰에 적용되며 만료기간이 지났을때 API요청을 하면 _token 이름의 값으로 새로 만들어진 토큰을 반환하므로 headers에서 교체해줄 필요가 있습니다.

TOKEN_REFRESH_DAY

재발급까지의 토큰 만료기간입니다. (단위:day)

TOKEN_ACCESS_DAY 기간이 지난 access token이 만료되면 TOKEN_REFRESH_DAY 기간내에 기간이 연장된 토큰을 만들어줍니다.
여기에서 설정된 기간이 지나면 토큰을 완전히 못쓰게 됩니다.


PATH_URL

http://... 부터 시작되는 외부에서 접속되는 루트 url값을 입력해줍니다.

이 값이 변하면 토큰을 새로 만들어야 합니다.

PATH_RELATIVE

서버 내부에서 서브 디렉토리에서 사용된다면 상대경로를 입력해주세요. ex) /goose-api
라우터가 인식하는 루트 패스의 기준점이 되기 때문에 이 값이 잘못되면 주소 인식이 잘 안됩니다.


DB_HOST

mysql host

DB_PORT

mysql port

DB_DATABASE

데이터메이스 이름

DB_USERNAME

데이터베이스 사용자 아이디

DB_PASSWORD

데이터베이스 사용자 비밀번호


DEBUG

{true|false}

디버그모드를 사용합니다.
이것을 사용하면 응답 받을때 개발에 필요한 몇가지 값들을 가져옵니다.

실질적으로 서비스하게되면 반드시 false로 바꾸세요!!!


USE_CHECK_OPTIONS_METHOD

{true|false}

브라우저에서 METHOD=POST형식으로 요청하면 (예를들어 로그인같은경우..) 메서드를 options형식으로 요청을 한번하고 서버에다 요청해도 되는지 확인하고 다시 요청합니다. (보안적인 측면인 이유..)
그래서 서버의 헤더에서 헤더를 설정해줄 필요가 있습니다. 만약에 서버에서 헤더를 설정할 수 없다면 php가 실행되는 API에서 설정할 수 있도록 준비해두었습니다.

서버에서의 설정은 대략적으로 다음과 같습니다. (nginx)

header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
header('Access-Control-Allow-Headers: X-Requested-With');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Headers: Authorization');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Max-Age: 86400');

api와 서버(apache or nginx)에서 동시에 설정이 되어있으면 여러번 헤더가 설정되어있다고 작동되지 않아서 이렇게 사용할지 안할지에 대한 값을 추가하게 되었습니다.


TIMEZONE

기본 time zone 설정합니다.

타임존의 목록은 List of Supported Timezones페이지를 참고하세요.

LANGUAGE

출력되는 메시지들에 대한 언어설정


FILE_LIMIT_SIZE

파일 업로드 사이즈 제한용량 (단위:byte)

FILE_ALLOW_TYPE

파일 업로드 허용하는 파일타입


DEFAULT_INDEX_SIZE

목록을 받아올때 한번에 몇개씩 가져올지에 대하여 정하는 기본값입니다.

DEFAULT_UPLOAD_DIR_NAME

파일 업로드할때 사용되는 서브 디렉토리 이름 기본값입니다.

Clone this wiki locally