codestates / codestates/TMT-server

[Dev-Log] 2021.07.07 이유림

Open
#51 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
0
Forks
2
PR merge metrics
No merged PRs in 30d

Description

### 오늘 한 일
- 구글 OAuth 구현


### 오늘의 힘든 점
- **에러!**

- 1. 로직을 다시 이해하는데 시간을 많이 쓴 느낌이다..

- 2. 클라이언트로부터 넘겨받은 구글 토큰에서 payload에 접근하는 방식이 일반적으로 접근해왔던 방식과 다름! => res.payload로 접근 불가!
(payload는 private 하고, LoginTicket 클래스 내에서만 접근할 수 있다는 에러가 뜸)

- 3. token의 타입이 any 라서 구글의 verifyIdToken 메소드에 맞지 않는 타입이라는 에러가 뜸

- 4. verifyIdToken 메소드의 인자로 req.body에서 받아온 token을 넣어주니 "Object literal may only specify known properties, and 'token' does not exist in type 'VerifyIdTokenOptions'." 이 에러가 뜸!

- 5. 데이터베이스에 저장되어 있지 않은 유저인 경우 구글토큰으로 해당유저를 가입시키는 로직 구현 시 .then 뒤로 에러가 뜸 (else, catch 모두 포함)

- **해결**

- 2. 구글 라이브러리 공식문서 참고해서 payload에 접근할 수 있는 getPayload() 메소드를 적용

- 3. 토큰을 위한 Interface를 생성하여 타입을 string으로 지정해 줌

- 4. 마찬가지로 공식문서를 활용하여 키값을 idToken으로 값과 함께 넣어주니 해결됨!

- 5. then 뒤로 받은 인자의 이름을 new라고 해주었었는데, new라는 값이 일반 변수이름과는 다르게 언어 내에서 맡은 역할이 있었음! (약간 명령어 비슷) => 이름을 data로 바꿔주니 에러 해결..

### 내일 할 일
- 엘라스틱 서치 공부 (1순위!)
- 카카오 로그인 찾아보기!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.