Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spring Security 설정 #35

Merged
merged 7 commits into from
Mar 19, 2024
Merged

Spring Security 설정 #35

merged 7 commits into from
Mar 19, 2024

Conversation

ki-met-hoon
Copy link
Owner

  • CustomUserDetails 구현

    • User_Account를 의존받음
    • 현재 user_account에 role 변수가 존재하지 않기 때문에 getAuthorities method는 ROLE_USER로 기본 설정
    • getPassword method는 회원번호로 구현
  • CustomUserDetailsService 구현

    • 회원번호로 DB 내 USER 정보 조회 기능을 가진 loadUserByUsername method 오버라이딩
  • JwtAuthenticationFilter 구현

    • request header에 담긴 idToken 값을 반환하는 resolveToken 구현
    • idToken을 통해 User 정보를 받아와 UsernamePasswordAuthenticationToken로 담아 Authentication 형태로 반환하는
      getAuthentication 구현
    • Authentication를 SecurityContextHolder에 설정하고 요청과 응답 객체 및 필터 체인을 다음 필터로 전달하는 기능을 가진
      doFilterInternal method 오버라이딩
  • SecurityConfig 구현

    • 커스텀한 JwtAuthenticationFilter를 security filter에 추가
    • securityFilterChain 환경 설정
    • spring security가 7.0부터 Lambda DSL을 사용하도록 변경됨

This closes #34

- 해당 클래스들은 oide package 내로 변경 되었지만 서버 실행 시 변경 전의 구조로 인식되어 오류 발생
- 변경 전의 패키지 구조와 이름으로 변경으로 긴급 해결, Issue 발행하겠음
- 에러 전문
Failed to parse type 'com.example.pnuunivmiryangcampus.auth.OIDCPublicKeysResponse' (remaining: ''): Cannot locate class 'com.example.pnuunivmiryangcampus.auth.OIDCPublicKeysResponse', problem: com.example.pnuunivmiryangcampus.auth.OIDCPublicKeysResponse
- 변경된 클래스 (KakaoInfoClient, KakaoOauthClient, KakaoProperties)
- support
    - token
        - kakao
- User_Account를 의존받음
- 현재 user_account에 role 변수가 존재하지 않기 때문에 getAuthorities method는 ROLE_USER로 기본 설정
- getPassword method는 회원번호로 구현
- 회원번호로 DB 내 USER 정보 조회 기능을 가진 loadUserByUsername method 오버라이딩
- request header에 담긴 idToken 값을 반환하는 resolveToken 구현
- idToken을 통해 User 정보를 받아와 UsernamePasswordAuthenticationToken로 담아 Authentication 형태로 반환하는 getAuthentication 구현
- Authentication를 SecurityContextHolder에 설정하고 요청과 응답 객체 및 필터 체인을 다음 필터로 전달하는 기능을 가진 doFilterInternal method 오버라이딩
- 커스텀한 JwtAuthenticationFilter를 security filter에 추가
- securityFilterChain 환경 설정
- spring security가 7.0부터 Lambda DSL을 사용하도록 변경됨
@ki-met-hoon ki-met-hoon self-assigned this Mar 19, 2024
@ki-met-hoon ki-met-hoon merged commit 0adebc6 into main Mar 19, 2024
1 check passed
@ki-met-hoon ki-met-hoon deleted the feature/#34-springSecurity branch March 19, 2024 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Spring Security 설정
1 participant