• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

Principal 관련 질문

20.03.08 19:00 작성 조회수 138

0

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

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

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

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

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

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

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

감사합니다.

답변 2

·

답변을 작성해보세요.

1

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

감사합니다.

0

김태수님의 프로필

김태수

질문자

2020.03.09

답변 감사합니다 :)