#  원티드 프리온보딩 백엔드 인턴십 7th : 231103 TIL

- Author: @laetipark
- Published: 2023-11-28
- Updated: 2023-12-31
- Source: http://blex.me/@laetipark/%EC%9B%90%ED%8B%B0%EB%93%9C-%ED%94%84%EB%A6%AC%EC%98%A8%EB%B3%B4%EB%94%A9-%EB%B0%B1%EC%97%94%EB%93%9C-%EC%9D%B8%ED%84%B4%EC%8B%AD-7th-231103-til
- Tags: 백엔드, til, nodejs, nestjs, 원티드, github, 프리온보딩, jwt

---

### 1️⃣ 할당된 업무에 대한 진행상황.
`In Progress` : 사용자 회원가입 및 로그인 API
`Not Started`: 사용자 정보와 정보 변경 및 맛집 조회 API

### 2️⃣ Today I Learned
```typescript
// Auth Controller
  /** 사용자 로그인
   * @Body signInUserDto 로그인 정보 */
  @Post('/login')
  @HttpCode(HttpStatus.OK)
  async signIn(@Body() signInUserDto: SignInUserDto, @Res() res: Response) {
    // 동록된 사용자 확인
    const verifiedUser = await this.authService.verifyUser(signInUserDto);

    // JWT Token 발급
    const payload = { id: verifiedUser.id, username: verifiedUser.username };
    const accessToken = await this.authService.getAccessToken(payload);

    // Set-Cookie 헤더로 JWT 토큰 & 응답 body로 사용자 정보 반환
    return res.cookie('accessToken', accessToken, { httpOnly: true }).json({
      message: SuccessType.USER_SIGN_IN,
      data: payload,
    });
  }

// City Controller
@UseGuards(JwtAuthGuard)
@Controller('cities')
export class CityController {
	...
}
```
- 기존에 작업한 로그인 관련 코드를 보면서, **JWT(Json Web Token)** 이 발급되는 과정과 사용하는 것에 대해 알아보았습니다!  
- [NestJS/Typescript : JWT를 통한 인증과 인가 과정, laetipark, blex.me](https://blex.me/@laetipark/nestjstypescript-jwt%EB%A5%BC-%ED%86%B5%ED%95%9C-%EC%9D%B8%EC%A6%9D%EA%B3%BC-%EC%9D%B8%EA%B0%80-%EA%B3%BC%EC%A0%95)

### 📁 수행 기업 과제 Repository
- [[ 여기가자 ] 지리기반 맛집 추천 서비스 RESTful API 서버, laetipark, github](https://github.com/laetipark/lets-go-here)
