Inflearn Community Q&A
소셜 로그인 구현, 리프레시 토큰에 대하여
Written on
·
1.3K
1
1.
현재 카카오 로그인도 구현해보고 싶은데,
쿠키&세션으로 구현(서버 메모리에 저장)은 해봤는데,
jwt를 사용해서는 어떻게 구현해야할지를 모르겠습니다..ㅠㅠ
2.
access token, refresh token을 보안상의 이유로 거의 필수적으로 같이 써야한다는데,
access_token이 만료되면 refresh_token을 이용하여 access_token을 새로 발급하는 방식이 어떤식으로 진행되는지 모르겠습니다..
ssrNestJSmongodbnodejsexpress
Answer 1
0
jgh9912039837
Questioner
1. 나름 구글링 해보면서 이해해봤는데 위 사진처럼 JWT를 발급받은후에는 카카오를 거치지않고 서버에 JWT만 보내면 서버에서 JWT를 해독후 정보를 보내주는것 맞나요??
jgh9912039837
Questioner
감사합니다!
사소하지만 하나 더 궁금한게
import { Injectable } from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
@Injectable()
export class JwtAuthGuard extends AuthGuard('jwt') {}
이런식으로 JwtAuthGuard를 따로 만들어 줘서 @UseGuard(JwtAuthGuard)를 하는것과
만들어주지 않고 바로 그냥 @UseGuard(AuthGuard('jwt'))를 하는것이 차이가 있나요??
둘다 되는것같은데 기왕이면 파일따로 안만들고 두번째처럼 해주는게 깔끔할것같은데,
첫번째처럼 클래스를 따로 만들어주면 성능이 좋아지거나 이점이 있나요??





.png?w=112)
네 맞습니다!! refresh_token을 쓴다면, 보통 클라이언트에서 access token이 만료될때를 계산해서 refresh_token을 요청합니다. 백엔드는 refresh token 발급 요청이 들어오면 새로운 access token을 발급해주면 됩니다. JWT 방식은 어떻게 설계하냐에 따라 많이 달라집니다. 아래의 글을 참고하시면 좋을 것 같습니다. https://hudi.blog/self-made-jwt/