인프런 커뮤니티 질문&답변

squirrel PARK님의 프로필 이미지

작성한 질문수

Next + React Query로 SNS 서비스 만들기

서버 쿠키 공유하기 & 게시글 업로드 완성

NextAuth 질문입니다!

해결된 질문

24.07.23 02:45 작성

·

126

0

NextAuth에서의 session token을 통해 사용자정보랑 세션쿠키를 전달하고있는데요.

만일 access Token이랑 Refresh Token으로 관리를 한다고 한다면, Session Token도 반 강제적으로 사용해야 하는 것같은데 이럴때는 3개의 토큰을 만료일을 컨트롤 해야하는건가요..?

예로

access 30분

session 1시간

refresh 7일

이렇게 가져가서 엑세스와 세션 두가지의 토큰을 다 갱신해주어야 하는건지 아니면 제가 지금 이상한 프로세스를 생각중인지 모르겠네요 ..

NextAuth에 리프래시 엑세스토큰을 통상적으로 어떻게쓰는지가 궁금합니다.. session token때문에 너무 혼동이오네요..

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 07. 23. 11:52

액세스토큰/리프레시토큰은 백엔드 용인가요?

일단 세션토큰은 프론트 로그인용이니까 프론트 로그인 시간을 조절하면 되는데요.

https://github.com/nextauthjs/next-auth/discussions/9476

지금 현재 30일로 고정되어있는 버그가 있는 것 같습니다. 세션 토큰은 만료일 컨트롤 개념이라기보다는 만료일이 지나면 다시 로그인해야 합니다.

squirrel PARK님의 프로필 이미지
squirrel PARK
질문자

2024. 07. 23. 12:17

넵!

OAuth2.0은 리프래시 토큰을 쓴다고 하여서 한번 도입해보고 싶었거든요

그래서 엑세스 리프래시하려 했는데 만일 NextAuth이용하려면

세션토큰은 불가피하게 생성을 꼭 해야하는것 같더라구요..

리프래시,엑세스,세션 3가지의 토큰이 생성되는데 이런 방식은 잘 채택하지 않는건가요?

 

아니면 세션토큰은 리프래시토큰과 만료일을 같이 가져가야할지 고민입니다

 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 07. 23. 12:23

백엔드때문에라도 그렇게 세 개의 토큰이 생성될 수 있습니다. 프론트랑 백엔드 동시에 로그아웃되게 하려면 만료일 통일해야할 것 같습니다.

squirrel PARK님의 프로필 이미지
squirrel PARK
질문자

2024. 07. 23. 13:15

감사합니다!