728x90
반응형
이번에 새로 들어가게 된 프로젝트에서 소셜 로그인 인증 방식을 사용하기로 했다.
스프링부트 OAuth2 보안 설정을 직접 해주는 방법도 있지만,
다양한 소셜 로그인을 진행해야하므로 Firebase를 이용해보자.
먼저 Firebase 콘솔(https://firebase.google.com/?hl=ko) 에 접속해서
구글 로그인 후, 프로젝트 생성-Authentication
Sign-in-method-새 제공업체 추가
본인은 구글 로그인과 카카오 로그인을 연동할 예정이므로
두 가지를 추가했다.
참고로, 카카오 로그인은 파이어베이스 제공 업체가 아니기 때문에
별도의 설정이 필요하다.
추가를 마쳤으면 프로젝트에 Firebase Admin SDK를 설정하기 위해
프로젝트 설정-서비스계정-'새 비공개 키 생성'
을 클릭하여 json 파일을 다운받아주자.
이제 이 json파일을 프로젝트의 resource 폴더 안에 위치하게 한다.
그 후에, @Configuration 어노테이션을 사용하여 Firebase를 초기화한다.
import com.google.auth.oauth2.GoogleCredentials;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
@Configuration
public class FirebaseConfig {
@Bean
public FirebaseApp firebaseApp() throws IOException {
InputStream serviceAccount = new ClassPathResource("path/to/firebase_credentials.json").getInputStream();
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.build();
return FirebaseApp.initializeApp(options);
}
}
firebaseApp() 메서드에서는 Firebase Admin SDK를 사용하여 FirebaseApp을 초기화하고,
FirebaseOptions 객체를 사용하여 서비스 계정 키를 제공한다.
그리고 초기설정 셋팅을 해주면 끝이 난다.
build.gradle (Gradle환경)
implementation 'com.google.firebase:firebase-admin:8.0.1'
이렇게 스프링 부트 애플리케이션에서 Firebase Admin SDK를 사용할 준비가 되었다~~
반응형
'Backend-dev > Spring' 카테고리의 다른 글
[Spring] 스프링 빌드 오류 모음 || sudo: ./gradlew: command not found 에러가 뜰 때 (0) | 2024.02.21 |
---|---|
[Spring] 첫 실행시 로그인 화면이 뜨는 경우? / Please sign in (0) | 2024.02.05 |
[Spring] @Autowired 사용법? 스프링 빈 의존성 주입과 @RequiredArgsConstructor (0) | 2024.02.05 |