어세스토큰 발급과 관련해서 질문합니다
233
작성한 질문수 11
안녕하세여, 관련하여 수업을 듣고있던중 저희쪽 소스에서는 인증토큰을 발행해
Tokenstore 에 저장해서 사용하고있습니다 . 다만 토큰 만료시간이 되지않으면 로그아웃 처리를 하여도(프런트에서 로컬스토리지 제거만 해주고있음) 다시 그 토큰을 재사용 할수있게됩니다 .
이를 위해토큰 재사용을 막기위해 고민하고있는데요. 혹시 어떤식으로 구현하면 좋을지 조언 부탁드립니다. (토큰스토어에 저장된 토큰을 어떻게 꺼내오고 블랙리스트 목록으로 저장을 해야될지 .. 너무 막막합니다)
답변 2
0
네 이 부분은 사실 정교한 설계가 뒷받침되어야 하는데요
가령 토큰에 활성화/비활성화 속성을 두고 로그아웃하면 토큰를 비활성화하면 됩니다
그리고 토큰은 클라이언트별로 식별할수 있도록 해야 하겠지요
사실 이 부분은 Spring Authorization Server 에서 토큰을 저장하고 이후 사용여부를 확인할 때 처리하는 방식입니다
제기억으로는 OAuth2AuthrizationContext 클래스와 관련있는 것 같은데 참고해 보시기 바랍니다
0
안녕하세요, 인프런 AI 인턴입니다.
이민혜님, OAuth2와 관련하여 토큰 재사용 문제로 고민이시군요. 다음 절차를 참고하여 구현을 고려해볼 수 있습니다:
로그아웃 시 토큰 블랙리스트 처리: 로그아웃을 할 때 사용자 토큰을 블랙리스트에 추가해야 합니다. 이 과정을 처리하는 별도의 관리 시스템(DB, In-memory database 등)을 두어, 로그아웃 시 해당 토큰을 저장해 둡니다.
요청시 블랙리스트 검증: 인증이 필요한 요청을 받을 때마다 해당 토큰이 블랙리스트에 있는지 확인해야 합니다. 만약 토큰이 블랙리스트에 있다면 요청을 거부합니다.
만료 시간 관리: 토큰 블랙리스트에 추가하면서, 해당 토큰의 만료 시간도 함께 저장하는 것이 좋습니다. 토큰이 만료되었을 경우 자동으로 블랙리스트에서 제거될 수 있도록 처리하면, 불필요한 데이터를 관리하지 않아도 됩니다.
보안성 강화: 가능하다면 토큰의 로테이션(재발급)과 단기 만료 토큰 사용을 고려하는 것도 좋은 방법입니다. 이렇게 하면 토큰이 탈취되었을 경우 노출 위험을 줄일 수 있습니다.
관련하여 OAuth2가 Spring에서 어떻게 동작하는지 더 자세히 알아보시려면, Spring Boot 문서의 OAuth2 관련 섹션을 참고하시는 것이 도움이 될 수 있습니다.
OAuth2는 광범위하게 사용되는 인가 프레임워크이며, Spring에서 지원합니다.
자세한 정보는 다음 문서를 참고하세요:
- Spring Boot OAuth2 관련 문서: Spring Boot Documentation - OAuth2
다소 복잡하고 세심한 주의가 필요한 부분이지만, 위의 안내와 문서를 참고하시어 문제를 해결하시길 바랍니다.
authorization-server 라이브러리 질문이 있습니다.
0
75
1
loadUser 중 Missing attribute 'preferred_username' in attributes 에러 발생
0
76
2
JWT 조회 에 대한 질문
0
70
1
password grant 방식 에러 응답
0
87
3
FormLoginConfigure에서 생성하는 필터
0
76
2
현업에서 springboot를 3.5.5 를 사용해서 공부중인데...
0
282
2
Jdbc 관련 강의 및 깃헙 문의
0
76
1
OAuth2AuthorizedClient 이해 및 활용 강의 내용 질문
0
208
1
UserInfo 엔드포인트 요청 실습
0
73
1
RFC 문서에서의 AccessToken 발급 방식 궁금한점
0
150
1
강의자료.zip 를 다운로드 받았는데 압축이 풀리지 않습니다. 확인 부탁드려요
0
138
2
OIDC SSO 관련 질문 입니다.
0
130
1
AuthenticationEntryPoint 강의 누락 문의
0
121
1
cors설정방법
0
115
1
jwt decoder 토큰 검증 시 질문
0
220
1
클라이언트에서 userinfo 엔드포인트 호출 시 질문
0
184
2
JOSE 구성요소의 api에 관한 질문
0
140
2
스프링 부트 3버전으로 따라가시는 분들 참고하세요
1
526
1
CustomOAuth2AuthenticationFilter 구현 중 질문
0
145
2
AuthenticationManager 생성시점
0
116
1
FormLogin과 Oauth2Client 둘 중 사용하는 시점
0
127
1
postman userinfo 엔드포인트 질문
0
134
2
강의 수강신청하고 듣기 전입니다 질문있습니다.
0
113
1
인증 코드를 통해 발급 받은 토큰의 관리
0
198
1





