7월, 2021의 게시물 표시

passport 구글 로그인 400 오류: redirect_uri_mismatch 해결

이미지
프로젝트 배포 전 로컬 환경에서 passport로 구글 로그인이 제대로 동작했는데 배포 후 구글 로그인이 안되었다. passport 공식문서에 나와있는데로 콜백 URI를 작성했는데도 오류가 발생했다. 혹시 몰라서 Google Cloud Platform에 API 및 서비스 페이지에서 승인된 리디렉션 URI를 잘못작성해뒀나 싶어서 확인했는데도 오류가 발생했다. 찾아보니 대부분 승인된 리디렉션 URI 이부분을 제대로 안적어줘서 오류가 발생하는것같았다. 구글에 검색해본 결과  OAuth 동의화면 - 범위 - 선택적 정보 - 요약 부분을 모두 입력해야 된다고 했다. 해봤지만 오류는 동일했다. 프로젝트를 다시 확인해보니 아래에 성공시, 실패시 Redirect 부분을 개발환경이었던 localhost로 작성해놓은 것이었다.  해당 부분의 주소를 변경해주니 정상적으로 구글 로그인에 성공했다.

[HTML] 데이터 속성 사용하기 ( data-set, data-* )

이미지
  데이터 속성 ( data-set, data-* ) 데이터 속성은 DOM 요소에 데이터를 저장할 수 있고, 해당 데이터를 event.target.dataset.정의한이름 으로 해당 값에 접근하여 값을 다룰 수 있다. 사용 방법은 DOM 요소에 속성으로 data-원하는이름 을 작성하면 된다. < span id ={ item . id } data-content ={ item . content } role = " presentation " onClick ={ handleModifyComment } style ={{ cursor : ' pointer ' }} > 수정 </ span > 주의할점 data- 뒤에 불가능 대문자 영어 data- 뒤에 가능 소문자 영어, 하이픈( - ), 언더스코어( _ ), 피어리드( . ), 콜론( ; ) 예전에 배웠을 당시에 따로 정리는 하지 않았는데 프로젝트를 진행하면서 아주 유용하게 사용해서 정리를 했다.

[Typescript] TS 유틸리티 (Utility Types)

이미지
 Partial<Type> - Type의 모든 속성이 선택 사항으로 설정된 형식이다. interface A { a : string ; c : boolean ; d : number ; } const a : A = { a : ' aaa ' , c : false , d : 123 , }; const b : Partial < A > = { c : true , d : 123 , }; Readonly<Type> - 모든 속성이 읽기 전용으로 설정된 형식을 생성한다. 즉, 생성된 형식의 속성을 다시 할당할 수 없다. interface A { a : string ; c : boolean ; d : number ; } const a : A = { a : ' aaa ' , c : false , d : 123 , }; const b : Readonly < A > = { a : ' bbb ' , c : true , d : 123 , }; ReturnType<Type> - 어떤 함수의 return 값의 return 타입을 가져올 수 있다. declare function f1 (): { a : number ; b : string }; type T0 = ReturnType <() => string >; //type T0 = string type T1 = ReturnType <( s : string ) => void >; //type T1 = void type T2 = ReturnType << T >() => T >; //type T2 = unknown type T3 = ReturnType << T extends U , U exte...

Ubuntu 18.04 nvm, Node.js, npm 설치하기

이미지
  # nvm 설치하기 $ sudo apt-get update $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash 설치가 완료되면 잘 설치되었는지 확인 $ nvm -v 만약 "Command 'nvm' not found, ~~" 와 같은 내용이 보이거나 nvm 버전이 출력되지 않는다면 현재 terminal(터미널)을 닫았다가 다시 새로 열거나, shell 별로 아래 명령어를 통해 해당 문제를 해결할 수 있다. bash: source ~/.bashrc zsh: source ~/.zshrc ksh: . ~/.profile 참고 : nvm github https://github.com/nvm-sh/nvm https://github.com/nvm-sh/nvm#install--update-script # nvm으로 Node.js, npm 설치하기 $ nvm install node 잘 설치 되었는지 확인 $ node -v $ npm -v 설치된 Node.js 버전 확인 및 설치 가능한 버전들 확인 $ nvm ls 원하는 특정 버전 설치하기 $ nvm install --lts $ nvm install 12.17.0 현재 사용중인 버전을 다른 버전으로 변경하고 싶은 경우 $ nvm use 14.17.3