오늘 한 일
- 승진님과 함께 태초마을에서 migration 당했다.
나도 몰랐던 강제 이주!본격적으로 온보딩 팀과 함께하게 되었다. - 오늘은 어쩌다 보니 좀 일찍 일어나서 어제 승진님이 제안(?)하신 페이스북 소셜로그인 기능 붙이기를 시작했다. 처음에는 잘 되나 싶었는데 몇 번 렌더링 시키고 나니 http 환경에서는 버튼을 사용할 수 없다는 오류가 떴다.
???아니 어떡하라고 - 오늘 스크럼에서 이 오류 내용과 내가 생각한 해결책(devcert)를 말씀드리니 영봉님, 승규님이 로컬에서 https로 띄우는 방법을 각각 알려주셨다. caddy와 mkcert였는데 caddy는 리버스 프록시를 이용해 http를 https로 돌려주는 반면 mkcert는 로컬용 인증서를 발급해서 아예 https로 띄워버리는 방식이었다.
- 둘 다 사용해봐야지 하는 오만한 생각으로 우선 caddy부터 시도해봤으나 생각했던 것만큼 잘 되지 않아서 mkcert로 옮겨갔다. mkcert는 용례가 많아서 참고 자료도 많았다. 우리 sso 프로젝트 자체가 프론트, 서버, 클라이언트를 동시에 띄워놔야 로컬에서 개발이 가능한 상황이라 아무래도 mkcert 패키지 자체를 노드로 깔면 좋을 것 같았지만, 다들 brew로 설치를 하고 있었다.
여기서부터 쎄했지만 멍청하게도 굴하지 않았다. - npm install mkcert 하고 나서 create-ca(certificate authority)와 create-cert 명령어로 인증서 발급을 완료한 후 https 해당 포트로 접속해봐도 err_cert_authority_invalid 오류가 났다.
http는 접속 자체가 안되고..찾아보면 사람마다 해결 방식이 제각각인데 이때도 사람들은 이미 npm이 아니라 brew로 설치한 상황이었다. 결국 마음을 바꿔먹고 방향을 전환했다. brew install mkcert 하면 애초에 mkcert -install 명령어를 통해서 ca를 설정할 수 있고, mkcert localhost 127.0.0.1 이런 식으로 명령어를 한 번만 입력하면 알아서 .pem 파일이 생성됐다.npm으로 설치하면 이것조차 .pem이 아니라 .key, .cert 이런 식이다 - 만약 내가 프론트엔드를 로컬에서 https로 띄워서 개발한다고 하면 서버나 클라이언트도 url 때문에 영향을 받지 않을 수가 없을 텐데 아무래도 이걸 package.json scripts에 포함시키는 게 나을 것 같아서 scripts 안에 brew install mkcert ... 도 넣어놨다.
근데 이건 진짜 쎄하다.. 괜찮은 건지 내일 여쭤봐야지 - 아 그런데 또 슬픈 포인트: 구글 로그인 버튼과 마찬가지로 회원가입 페이지 갔다 돌아오면 버튼이 없어진다..ㅠㅠ 구글 버튼은 요행히도 살려냈지만 페이스북 버튼만큼은 같은 방식이 안 먹힌다 엉엉
- 와 오늘 한 거 이거밖에 없어ㅠㅠㅠㅠㅠㅠㅠㅠㅠ세상에나
오늘 배운 것
- caddy: 문서는 정말 친절하고 직관적인데 왜 나는 안되지...
- mkcert 깃헙: 아니.. advanced topics에 나온 옵션들은 어떻게 해야 먹일 수 있는 거야ㅠㅠ
- mkcert npm: 문서 간결하고 좋은데 어쨌든 적용 실패였따
- mkcert는 brew install 하자^^
'post항해_배움일지 > 개발일기' 카테고리의 다른 글
개발일기_220324~220325_디자인 변경-ing, Vue 3+Vite (2) | 2022.03.26 |
---|---|
개발일기_220322_Git hooks (4) | 2022.03.23 |
개발일기_220321_첫 스크럼, minikube, package-lock.json (2) | 2022.03.21 |