안녕하세요 깃 시크릿과 호스팅에 관련해서 질문 올립니다.

안녕하세요 깃 시크릿과 호스팅에 관련해서 질문 올립니다.

작성일 2023.09.12댓글 1건
    게시물 수정 , 삭제는 로그인 필요

자바스크립트를 공부하는 학생입니다.
카카오 지도 api와 다른 공공데이터 api를 호출해서 로컬환경에서는 모든게 잘 작동합니다.
깃 페이지로 호스팅하려는데 api키를 감추려합니다
깃 시크릿을 이용해서 환경변수를 등록하고 페이지에 호스팅 하려는데



워크플로우폴더를 만들고 메뉴얼대로 입력을하고 진행을 했습니다.
그리고 깃으로 페이지를 호스팅했더니 오류가 생기더라구요

여기서 궁금한점은
1. 저의 main.js 파일에서 깃 시크릿에 등록되어있는 키를 임폴트해서 사용하는 방법이 있나요?

2.깃 액션으로 환경변수를 등록한 시크릿 키를 워크플로우로 실행했는데 이건 호스팅될때만 사용이 되는건가요?
그렇다면 저의 js파일에서는 그 키의 변수를 어떤식으로 사용해야할까요?


글을 더 쉽게 못써서 죄송합니다.,
도움 주시면 감사드리겠습니다.



profile_image 익명 작성일 -

간단히 말해서 그런식으로는 안됩니다.

환경 변수는 실행 환경에서의 환경 변수이기 때문이고 깃헙액션 안에 있는 변수는 깃헙액션이 호출되는 컨테이너 내부에서만 유효하기 때문입니다.

만약 리액트로 제작한 경우라면 빌드를 하는 과정에서 .env에 프러덕션 환경의 변수를 넣고, .env.production에서는 디버그 환경에서의 변수를 넣어서 유동적으로 사용할 수는 있으나 이것 역시 빌드에서 대체만 될 뿐이지 js파일에는 들어갈 수 밖에 없습니다.

애초에 자바스크립트는 서버가 아니라 클라이언트 환경에서 실행됩니다. 따라서 완전히 클라이언트 키/시크릿을 숨기려면 서버를 만들어서 서버가 해당 API를 호출하고 결과값을 가공해서 내 클라이언트에 보내주어야 합니다.

깃헙 페이지는 정적 파일을 호스팅 하는 기능만 제공되기 때문에 당연히 이런 것들이 불가능합니다. (AWS 같은걸 돈 내고 사용하는 수밖에 없습니다.)

그럼

케인의 판타지사전

안녕하세요. 저는 현제 케인의 판타지사전의 속 자료를... 요즘 정령(엘퀴네스)를 올립니다 <원소계열... 특히 , 교리와 관련된 문제로 날이 있는 무기를 사용하지 못하는...