inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 OAuth2

OAuth2 로그인 구현 - Spring MVC 인증 객체 참조하기

인증성공 후 로직 질문입니다.

324

에욱

작성한 질문수 17

0

지금 처음 인증성공받을때 인가서버로부터 accessToken 발급받고 이 토큰으로 유저정보 가져와서 인증성공후 securityContext, 세션에 저장합니다. 그리고 인증성공받은 이후에는 그러면 인증받았는지 안받았는지는 세션에서 SecurityContext 객체를 가져와서 인증여부를 체크하는건가요? 그렇다면 OAuth2 사용하지않고 그냥 Spring Security만 사용했을때랑 차이가 처음 인증과정만 달라지는거고 이후에는 똑같이 인증객체를 세션에 저장해서 사용하는거니까 인증후에는 로직이 똑같은건가요?

java spring spring-boot oauth

답변 2

0

정수원

네 그렇게 이해하시면 됩니다.

인증과정은 시큐리티 기본 과정과 동일합니다.

OAuth2 는 사용자의 인증 과정이 필수이므로 시큐리티 기본 동작이 우선되어야 합니다.

0

인프런 AI 인턴

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

OAuth2를 사용한 인증 방식과 일반적인 스프링 시큐리티를 사용한 인증 방식의 차이에 대해 잘 이해하고 계신 것 같습니다. 질문 주신 부분을 명확히 정리해 드리겠습니다.

  1. 초기 인증의 차이:

    • OAuth2는 외부의 인가 서버를 통해 인증이 이루어지고, 이는 사용자로부터 액세스 토큰을 받는 것을 포함합니다. 이 과정에서 얻은 토큰을 사용하여 사용자의 정보를 받아옵니다.
    • 반면, 스프링 시큐리티의 일반적인 인증 방식은 주로 내부 데이터베이스나 디렉토리를 통해 사용자 인증을 처리합니다. 기본적으로는 사용자 이름과 비밀번호 검증 과정을 거칩니다.
  2. 인증 이후의 로직:

    • 두 경우 모두 인증이 성공적으로 완료되면, SecurityContext에 사용자의 인증 상태를 저장합니다. 그리고 이 SecurityContext는 서버 세션의 일부로 관리됩니다.
    • 따라서 인증 이후의 작업, 즉 사용자가 인증되었는지를 확인하는 과정은 둘 다 비슷합니다. SecurityContext에서 인증 객체를 가져와 사용자의 인증 상태를 검증하는 방식이 동일합니다.

관련된 내용을 더 잘 이해하시려면 다음의 유사한 답변을 참고하시면 도움이 될 수 있습니다:

두 방법의 가장 큰 차이는 인증 과정의 시작 부분인 ‘사용자의 인증’ 단계이며, 그 이후의 로직은 대부분 유사합니다. 인증 객체를 SecurityContext를 통해 관리하는 것은 동일한 방식이죠.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

authorization-server 라이브러리 질문이 있습니다.

0

74

1

loadUser 중 Missing attribute 'preferred_username' in attributes 에러 발생

0

74

2

JWT 조회 에 대한 질문

0

69

1

password grant 방식 에러 응답

0

85

3

FormLoginConfigure에서 생성하는 필터

0

75

2

현업에서 springboot를 3.5.5 를 사용해서 공부중인데...

0

282

2

Jdbc 관련 강의 및 깃헙 문의

0

75

1

OAuth2AuthorizedClient 이해 및 활용 강의 내용 질문

0

207

1

UserInfo 엔드포인트 요청 실습

0

72

1

RFC 문서에서의 AccessToken 발급 방식 궁금한점

0

148

1

강의자료.zip 를 다운로드 받았는데 압축이 풀리지 않습니다. 확인 부탁드려요

0

136

2

OIDC SSO 관련 질문 입니다.

0

129

1

AuthenticationEntryPoint 강의 누락 문의

0

120

1

cors설정방법

0

115

1

jwt decoder 토큰 검증 시 질문

0

218

1

클라이언트에서 userinfo 엔드포인트 호출 시 질문

0

183

2

JOSE 구성요소의 api에 관한 질문

0

138

2

스프링 부트 3버전으로 따라가시는 분들 참고하세요

1

524

1

CustomOAuth2AuthenticationFilter 구현 중 질문

0

144

2

AuthenticationManager 생성시점

0

116

1

FormLogin과 Oauth2Client 둘 중 사용하는 시점

0

125

1

postman userinfo 엔드포인트 질문

0

130

2

강의 수강신청하고 듣기 전입니다 질문있습니다.

0

113

1

인증 코드를 통해 발급 받은 토큰의 관리

0

198

1