FirebaseService

PHOTO EMBED

Fri May 05 2023 09:17:26 GMT+0000 (Coordinated Universal Time)

Saved by @namnt

package com.example.loginbysocial.service;

import com.example.loginbysocial.entity.Profile;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseAuthException;
import com.google.firebase.auth.FirebaseToken;
import org.springframework.stereotype.Service;

import java.io.FileInputStream;
import java.io.IOException;

@Service
public class FirebaseService {
    public FirebaseToken authenticateUser(String accessToken) throws FirebaseAuthException, IOException {
        FileInputStream serviceAccount =
                new FileInputStream("./../cloud-gateway-common/loginBySocial/src/main/resources/service-account.json");
        FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .build();
        FirebaseApp app=FirebaseApp.initializeApp(options);
        FirebaseAuth auth = FirebaseAuth.getInstance(app);
        FirebaseToken token = auth.verifyIdToken(accessToken);
        return token;
    }
    public Profile getInfo(FirebaseToken token){
        Profile profile=new Profile();
        profile.setEmail(token.getEmail());
        profile.setName(token.getName());
        profile.setPhoto(token.getPicture());
        profile.setId(token.getUid());
        return profile;
    }
}
content_copyCOPY