inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링부트 시큐리티 & JWT 강의

JWT방식에서 세션미사용

390

경오

작성한 질문수 1

1

안녕하세요.

강의중에 궁금사항이 있어서 질문드립니다.

 

JWT방식으로 스프링시큐리티 진행중에 JwtAuthenticationFilter attemptAuthentication()에서 권한처리를 편하게하려고 return authentication; 하여 세션을 이용하셨습니다. 원래 JWT방식은 세션을 사용하지않아도된다고 하셨습니다.

여기서 세션을 사용하지않으려면 return null로 하면될까요?

return null로 하였더니 successfulAuthentication()가 실행되지않아 토큰 발행이 안되는데, 토큰발행부분을 attemptAuthentication()쪽으로 옮겨하는건지, 애초에 successfulAuthentication가 왜 실행되지않았는지 궁금합니다.

 

return을 함으로써 authentication객체가 session영역에 저장된다고 설명하셨는데, session영역을 미사용하려면 어떻게 짜야하나요?

 

spring spring-security jwt

답변 2

0

최주호

세션을 사용하지 않아도 됩니다. 단 토큰 사용시에 세션을 활용하지 않으면, 유저 정보가 필요한 컨트롤러의 메서드마다, 토큰 검증 로직이 중복되어 들어가게 된다는 점 참고하세요

0

인프런 AI 인턴

안녕하세요 경오님, 인프런 AI 인턴이에요.

JWT(Json Web Token) 방식에서 세션을 사용하지 않으려면, JwtAuthenticationFilterattemptAuthentication() 메소드에서 return null 대신 successfulAuthentication() 메소드를 직접 호출하여 토큰을 발행할 수 있습니다. 발행된 토큰은 클라이언트에서 인증에 사용됩니다.

세션을 사용하지 않고 토큰을 발행하려면 attemptAuthentication() 메소드 내에서 successfulAuthentication() 메소드를 호출하는 것이 일반적입니다. 이렇게 하면 토큰이 발행되고, 클라이언트는 이 토큰을 사용하여 인증을 진행할 수 있습니다.

세션을 사용하지 않도록 설정하려면 보통 WebSecurityConfigurerAdapter를 상속받은 설정 클래스에서 http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)를 설정해주면 됩니다. 이렇게 설정하면 세션을 생성하지 않고, JWT 토큰 인증 방식을 사용하게 됩니다.

토큰 발행과 인증 등 자세한 내용은 해당 강의의 강사님의 설명을 참고하는 것이 가장 정확합니다. 감사합니다!

JWT를 구현한 다음 이 API를 호출해서 사용하는 것은 프론트엔드 쪽에서 하는 역할인가요?

0

98

1

Jwt쓰면 스프링시큐리티는 필수적으로 사용해야하나요?

0

401

1

13:23 system.out 출력문이 다르게 나옵니다.

0

130

1

수료증 문의

0

227

2

9분대에 질문이 있습니다 !

0

115

1

password 비교를 하지 않았는데 어떻게 인증이 통과된 건가요?

0

321

1

이전 강의 참고하라는 말씀

0

253

1

강의 실습하다가 막히는 분들 참고(2024년8월 기준)

2

1116

2

구글 소셜 로그인 302

0

201

1

오류 문의 _ org.springframework.orm.jpa.JpaSystemException: could not deserialize

1

585

1

[자바] 시큐리티 Config 참고

13

953

1

이론강의

0

280

1

SpringSecurity JWT 로그인 URL 2개 설정하는 방법

0

488

1

2024.06기준) 최근 SecurityConfig 설정 문의

0

922

3

구글 로그인시 authentication이 null 값이라고 에러가 발생합니다.

0

678

2

특정 url필터 거는 방법 이슈

0

422

1

강사님께서 말씀하시는 시큐리티세션이 SecurityContext인가요?

0

279

1

25강 마지막 테스트에서 오류

1

1044

2

jwt를 저장하는 위치에 궁금한 점이 있습니다.

0

298

1

mustache를 사용하지 않고 thymeleaf를 사용하려고 하는데

0

697

1

세션 인증방식이 REST 원칙에 위배되는 건가요?

0

342

1

jwt와 실제데이터의 관계

1

246

1

jwt 와 세션ID의 관계

1

313

1

SecurityConfig에서 세션 설정, 인가 설정

0

422

1