codestates / codestates/SoundBubble

[Dev_Log] 8/10 (화) 김재우

Open
#50 0 comments 0 reactions 1 assignee Claimed by @idenk View on GitHub
Dev-Log
Dominant language
TypeScript
Stars
3
Forks
2
PR merge metrics
No merged PRs in 30d

Description

### 오늘은 어떻게 프로젝트에 기여했나요?
클라이언트에서 폼 데이터에 음성, 이미지를 포함하여 전달하면 DB에 저장하는 버블 업로드 기능을 포함하여 버블과 관련된 전반적인 컨트롤러를 작성하였다. S3로 리소스 서버를 구축하여 Multer-s3를 이용해 음성과 이미지 파일은 S3에 저장하고 경로만 DB에 저장하는 방식을 사용했다.

그리고 토큰을 검증하고 사용자를 인증하는 미들웨어를 구축했다. 만료된 토큰의 경우 유저 DB에 저장된 리프레시 토큰을 이용해 재발급하는 과정까지 추가했다. 인증된 사용자는 권한에 따라 버블 삭제, 버블 댓글 등록, 댓글 삭제 등을 수행할 수 있다.

### 오늘의 프로젝트에서 배운 점은 무엇인가요?
* 타입스크립트 적용
타입스크립트를 상세하게 적용하는 방법을 학습하면서 프로젝트에 적용하고 있다. 변수에 명시적으로 타입을 선언하여 함수의 리턴값, 객체의 내부 속성 등을 한 번에 알 수 있도록, 사람의 실수에 의해 발생할 수 있는 오류가 생기는 코드를 작성하는 것을 지양하려고 노력하고 있다. 하지만 아직 JWT토큰과 Express 모듈의 타입을 변수에 명확하게 지정하는 것이 어려워서 꾸준히 학습하며 점차적으로 적용하려 한다.

* 만료된 토큰 검증
만료된 액세스 토큰을 강제로 검증하는 방법을 알아내, 해당 사용자의 리프레시 토큰을 획득하는데 사용하였다.

```js
jwt.verify(accessToken, accessSecret, { ignoreExpiration: true })
```

### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
* [ ] 사용자 인증 과정 통합 및 수정
* [ ] 구글 소셜 로그인 라이브러리 학습

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.