Spring

Spring boot를 사용하여 구글 로그인 연동(OAuth 2.0 사용)

정숙씨의 쏠쏠한 코딩 2020. 12. 17. 23:34

-구글 로그인 연동하기-

(사용자 정보를 담당하는 User.class 도메인)

-사용자 정보를 담당할 user.class 생성-

@Enumerated 어노테이션은 Enum 클래스 Role에 저장된 키값을 String 문자열(EnumType.STRING)으로 저장할수있게 도와준다.(Role.Enum에 저장된 ROLE_GUEST, 손님 ROLE_USER, 일반사용자 값을 가져온다.) 

@Entity 어노테이션은 User.class를 DB 테이블에 매핑 시켜주는 역활을 한다.

@NoArgsConstructor 어노테이션은 파라미터 생성자를 빈값으로 생성한다.

(각 사용자의 권한을 관리할 Role.enum)

enum 클래스는 클래스처럼 보이게 하는 상수값이다.

enum상 String 문자열 상수 리스트로 GUEST, USER을 생성한다.

-Spring Security 클래스-

SecurityConfig 클래스는 WebSecurityConfigurerAdapter 인터페이스를 상속한다.

.csrf().enable() 선언은 SpringSecurity 기능을 활성화 시킨다.

.authorizeRequests() 선언은 각 URL별 사용자 권한 관리 옵션을 시작한다.

.antMatchers("/", "/css/**", "/images/**", "/js/**", "/h2-console/**").permitAll() 선언은 각 요청값에서 GUEST,USER에게 모든 권한을 지정하는 옵션이다.(antMatchers 선언은 authorizeRequests 기능을 사용 해야지만 사용 가능하다.)

anyRequest().authenticated() 지정된 설정값 이외에 나머지 URL 값을 나타낸다.