1️⃣ 할당된 업무에 대한 진행상황.
In Progress
: 사용자 회원가입 및 로그인 API
Not Started
: 사용자 정보와 정보 변경 및 맛집 조회 API
2️⃣ Today I Learned
// 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
Ghost