Spring/그 외
스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기
ummchicken
2023. 1. 4. 17:05
출처 : 이동욱 개발자님 [스프링 부트와 AWS로 혼자 구현하는 웹서비스]
책을 보며 따라하기 기록
1. OAuth 동의 화면
책과 좀 다른 부분이 있다.
구글링해보니
User Type을 '외부'로 체크해야 한다고 함.
2. enum Role
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@Getter
@RequiredArgsConstructor
public enum Role {
GUEST("ROLE_GUEST", "손님"),
USER("ROLE_USER", "일반 사용자");
private final String key;
private final String title;
}
→ 스프링 시큐리티에서는 권한 코드에 항상 ROLE_이 앞에 있어야만 한다.
3. 스프링 시큐리티 설정
책에서는 build.gradle에 compile('org.springframework.boot:spring-boot-starter-oauth2-client') 되어 있지만,
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
이렇게 변경됨.
4. SQL Error: 42001, SQLState: 42001
🚨 문제
→ 로그인 시도 후 500 에러
🚨 에러 이유
1. SQL에서 사용하는 예약어를 사용했을 때 생기는 ERROR
2. User -> 예약어
💡 해결 방안
User class에 @Table(name = "Users") 애너테이션을 추가
출처 : https://velog.io/@gwichanlee/JdbcSQLSyntaxErrorException-%ED%95%B4%EA%B2%B0