๐Ÿ’œ๊ฐœ๋ฐœ๊ณผ ์ผ์ƒ (โ‰ง∇โ‰ฆ)๏พ‰

[Spring, firebase] firebase ๋‚ด DB ์—ฐ๋™ํ•ด๋ณด์ž. ๋ณธ๋ฌธ

web/Spring

[Spring, firebase] firebase ๋‚ด DB ์—ฐ๋™ํ•ด๋ณด์ž.

๊ฐ•์˜์„œ 2023. 7. 1. 02:19

1. ์˜์กด์„ฑ ์ถ”๊ฐ€

 

gradle

implementation group: 'com.google.firebase', name: 'firebase-admin', version: '8.1.0'

maven

<dependency>
    <groupId>com.google.firebase</groupId>
    <artifactId>firebase-admin</artifactId>
    <version>8.1.0</version>
</dependency>

ํŠน์ • ๋ฒ„์ „์ด ํ•„์š”ํ•˜๋‹ค๋ฉด mvnrepository ๊ณต์‹ ์‚ฌ์ดํŠธ๋ฅผ ํ™•์ธํ•ด๋ณด์ž

https://mvnrepository.com/artifact/com.google.firebase/firebase-admin

๋ฒ„์ „ ๋ณ„๋กœ ์„ค์ •์ด ๊ฐ€๋Šฅํ•จ.

 

2. Firebase ์ฝ˜์†” ๋‚ด ์„ค์ • ์ง„ํ–‰

๊ธฐ์กด์— ๊ตฌ์„ฑํ•ด๋†“์€ ํŒŒ์ด์–ด๋ฒ ์ด์Šค ํ”„๋กœ์ ํŠธ์— ๋“ค์–ด๊ฐ€ ํ™˜๊ฒฝ์„ค์ •>ํ”„๋กœ์ ํŠธ ์„ค์ •์— ๋“ค์–ด๊ฐ„๋‹ค.

์ƒˆ ๋น„๊ณต๊ฐœ ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด json ํŒŒ์ผ์„ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœ์ ํŠธ ํด๋” > resources > config์— ์ €์žฅํ–ˆ๋‹ค.

3. FirebaseConfig.java ์ƒ์„ฑ

firebase์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค firebaseConfig๋ฅผ ์„ ์–ธํ•˜์—ฌ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

@Configuration
public class FirebaseConfig {

    private String firebaseSdkPath = "./HHBE/src/main/resources/config/firebaseKey.json";

    private FirebaseApp firebaseApp;

    @Bean
    public FirebaseAuth firebaseAuth() throws IOException {

        //read firebaseKey.json
        Resource resource = new ClassPathResource(firebaseSdkPath);
        FileInputStream fis = new FileInputStream(resource.getFile());

        FirebaseOptions options = FirebaseOptions.builder()
                .setCredentials(GoogleCredentials.fromStream(fis))
                .build();
        firebaseApp = FirebaseApp.initializeApp(options,"gnd");

        //FirebaseApp.initializeApp(options);
        return FirebaseAuth.getInstance(firebaseApp);
    }
}

ํ•ด๋‹น ํด๋ž˜์Šค์— Firebase์ •๋ณด json ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์™€ ์ด๋ฅผ ํ™œ์šฉํ•ด์„œ Google credit์„ ๋ฐ›์•„์™€ ์ธ๊ฐ€ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.