inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Boot JWT Tutorial

JWT 소개, 프로젝트 생성

52초쯤 말씀해주신 고려해야할 사항 질문

해결된 질문

248

앙빙빙

작성한 질문수 5

1

안녕하세요 :)

52초쯤 JWT를 적용함에 있어서 몇가지 고려해야할

사항들을 잘 대응하면 대규모 프로젝트에서도 적용할 수 있다고 하셨는데요!

고려해야될 사항을 좀 더 추가로 설명을 해주시면

감사하겠습니다!

jwt spring-boot

답변 1

3

정은구

안녕하세요 앙빙빙님 :) 

질문 남겨주셔서 감사합니다

고려해야될 사항이라는 것은 해당 시스템의 요구사항에 따라 수많은 사항들이 생길 것 같다고 생각합니다.

가장 간단한 예를 든다면 

가령 "시스템은 사용자에게 발급된 토큰 중 특정 토큰을 지정하여 사용을 중지시킬 수 있다" 라는 요구사항이 있다고 한다면 

토큰의 만료시간만 가지고 해당 요구사항을 충족시킬 수는 없겠죠. 그때는 서버사이드에서 해당 요구사항을 충족하기 위한 추가 개발들을 해야할 것 이라고 생각이 듭니다.

이 요구사항을 충족하기 위해 몇가지 생각해보면 아래와 같은 방법들이 있을 것 같습니다.

 - 권한 DB의 Version 정보를 관리해서 권한이 수정되면 Version을 변경하고 JWT 내의 Version 정보와 비교해서 틀리면 Update 
 - JWT 만료 날짜를 짧게 유지한다.

 - 토큰을 Redis 혹은 DB 같은곳에 저장해놓고 권한이 변경되면 해당 토큰을 업데이트 대상 토큰으로 저장하여 놓고 권한이 필요한 API를 요청할 시 업데이트 대상 토큰을 검증하는 필터를 구현하여 업데이트

 - JWT 페이로드에 발급 시간을 저장해 놓고 권한이 변경된 시간과 비교 업데이트 

일단은 JWT의 기초 지식에 대해 먼저 습득하신 후에 실제 본인만의 서비스를 만들어서 적용해보시길 추천드립니다. :)

0

앙빙빙

친절한 설명 감사합니다 :) b

spring boot 3.x 버전 강의도 만들어주시면 안될까요?

0

70

1

3강 secret key 관련해서 질문있습니다

0

69

1

JwtFilter 에 TokenProvider 선언 시 final 키워드 빠진 이유

0

78

1

/api/authenticate 포스트맨 401 에러

0

225

1

Spring boot 3.x버전에서 data.sql 오류 발생할 경우

4

401

1

/api/hello 접근 시 401 나올 때 해결법

2

307

2

소스코드 전체 볼수 있을까요?

0

399

2

머이렇게 안되는게많노 ㅠ

1

761

2

스프링부트 3.x 버전 data.sql 삽입 오류 발생할 경우 해결 방법

6

1354

2

postman 결과가 다릅니다

0

363

2

body값이 비었습니다.

0

400

2

jjwt 버전을 올렸더니 jwt가 유효하지 않다고 합니다

0

3599

1

Refresh Token

0

507

1

유저 권한 설정

0

370

2

setAuthentication

0

499

1

postman에서 오류가 납니다..

0

1774

3

Spring boot 3.1.5 기준 학습 정리 파일 공유

1

1091

4

/api/hello에 접근이 안됩니다 ㅠㅠ

0

1084

2

mysql 설정로 실습시

0

879

2

유효한 JWT 토큰이 없습니다

0

669

2

8:45 spring security 3.1.5 설정 방법 (버전 안 맞춰서 안될때)

1

2284

2

2:00 에서 저처럼 버전 안 맞춰서 해서 헤매는 분들 이걸로 해보세요.

0

1279

3

JWT String argument cannot be null or empty.

0

2171

2

new User 생성자 오류 발생하는 분들...

6

504

2