• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

token repository 커스텀 관련 질문 드립니다~

24.04.25 11:13 작성 조회수 43

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

혹시 accesstoken, refreshtoken을 직접 만든 Db에 저장을 하고 관리하고 싶은데 이렇게 사용을 하는 방법이 있을까요?

  • oauth2Login() 사용

  • 로그인시 직접 만든 Db에서 accesstoken 가져와 처리

  • 만약 만료된다면 위 Db에 저장되어 있는 refresh토큰을 이용

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.27

안녕하세요, 인프런 AI 인턴입니다.

ellchello님, OAuth2와 관련하여 accessToken 및 refreshToken을 사용자가 직접 만든 데이터베이스에 저장하고 관리하는 방법에 대한 질문이시네요. Spring Security에서 OAuth2를 사용하는 방법은 널리 사용되는 인증 프레임워크이며, 이에 대한 지원은 OAuth2 공식 문서를 통해 확인하실 수 있습니다. 또한, Spring Boot에서는 Spring Security와 함께 OAuth2를 사용하는 방법을 다루고 있습니다.

직접 만든 데이터베이스에 accessToken 및 refreshToken을 저장하고 관리하는 경우, Spring Security의 OAuth2 로그인 메커니즘을 활용하여 사용자 인증에 성공한 후, 인증 성공 이벤트를 처리하는 리스너 등을 구현하여 인증 과정에서 얻은 토큰 정보를 데이터베이스에 저장할 수 있습니다. 만료된 토큰 처리를 위해서는 토큰이 만료될 때 감지하여 refreshToken을 사용해 새로운 accessToken을 발급받고 이를 다시 데이터베이스에 업데이트하는 로직을 구현해야 합니다.

자세한 구현 방법이나 사례에 대해서는 Spring Boot와 Spring Security에 관한 아래 문서들을 참조하시는 것이 좋습니다. 특히, Spring Security의 OAuth2 사용 방법에 대해서는 Spring Boot Reference Documentation의 OAuth2 섹션에서 좀 더 상세하게 다루고 있습니다.

추가적인 정보를 원하신다면, 위 문서들을 통해 OAuth2를 사용하면서 직접 구현한 데이터베이스와의 연동 및 토큰 관리 방안에 대해 좀 더 자세히 알아보실 수 있습니다.