프로젝트에 소셜로그인 관련 설정을 하기 이전에 사용하고자 하는 서비스의 공식홈페이지에서
OAuth 관련 설정을 하기위해 프로젝트를 등록해야한다.
해당 과정은 생략하고 프로젝트에서 설정하는 과정만 추가.
1. build.gradle 파일에 OAuth 관련 라이브러리를 추가해야한다.
만약 프로젝트 생성시 이미 추가를 했을 경우 할 필요 없다.
// build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
}
2. 추가 이후 application.properties 설정을 변경해야한다.
여러개의 OAuth 를 사용한다면 별도의 설정파일을 생성하는 것이 좋다.
설정 파일의 이름은 "application-XXX.properties" 으로 한다
주의할 점은 중간의 대시("-") 외에 다른 기호를 사용하지 않는다.
spring.security.oauth2.client.registration.google.client-id = 생성시 클라이언트 ID
spring.security.oauth2.client.registration.google.client-secret = 클라이언트 패스워드
spring.security.oauth2.client.registration.google.scope = email
3. application.properties 에서 추가된 파일을 포함해서 동작하도록 설정을 추가
spring.profiles.include = oauth
4. configure 메서드를 오버라이드 한 메서드에 oauth2Login() 설정을 추가한다.
@Override
protected void configure(HttpSecurity http) throws Exception {
http.oauth2Login();
}
OAuth2UserDetailsService 라는 인터페이스가 있다.
소셜 로그인 관련 처리를 하기 위해서는 해당 인터페이스를 직접 구현하거나 구현 클래스를 상속해서
작성해야한다.
'Back-End > Spring' 카테고리의 다른 글
MyBatis) MySQL로 Insert한 데이터의 자동생성된 pk 값 가져오기. (1) | 2021.03.22 |
---|---|
MyBatis로 DB 칼럼 과 Java Property mapping 방법( XML, Annotation) (0) | 2021.03.22 |
(2) QuerydslRepositorySupport - Tuple 활용 (0) | 2021.03.09 |
(1) QueryRepositorySupport (0) | 2021.03.09 |
thymeleaf 사용 시 날짜포맷팅 (2) | 2021.03.01 |