인프런 커뮤니티 질문&답변

김태수님의 프로필 이미지

작성한 질문수

스프링 시큐리티

Principal 관련 질문

해결된 질문

작성

·

259

0

먼저 좋은 강의 감사합니다. 스프링 시큐리티 이해에 있어 큰 도움이 되었습니다. :)

OAuth을 사용한 구글로그인 관련 내용은 강의 범위에 없어서 혹시 질문이 부적절하면 답변 안해주셔도 됩니다.

OAuth 구글로그인을 이용한 기능을 추가하였는데

기존 formLogin을 사용하여 로그인을 하면 Principal이 `UserDetails`이고

OAuth를 사용하여 로그인을 하면 Principal이 `DefaultOidcUser`입니다.

OAuth를 추가하기 전 코드들이 UserDetails로 맞춰 코딩하여 Principal이 `DefaultOidcUser` 일 때 캐스팅 오류가 발생합니다.

이 경우 formLogin과 OAuth를 사용한 로그인을 통합으로 관리하고 싶다면 어떻게 해야하는지 궁금합니다.

감사합니다.

답변 2

1

백기선님의 프로필 이미지
백기선
지식공유자

폼 로그인과 OAuth 로그인 둘 을 맞추려면 둘의 Principal의 상세 객체 타입이 다를거라는걸 고려해서 고딩하거나 Principal 이라는 인터페이스로만 코딩을 하거나, 두 인증 처리 필터의 결과를 동일한 객체로 감싸는 커스터마이징을 해야 할겁니다.

감사합니다.

0

김태수님의 프로필 이미지
김태수
질문자

답변 감사합니다 :)