UNPKG

@jvhaile/loopback4-helper

Version:
31 lines (24 loc) 1.06 kB
import {injectable, BindingScope} from '@loopback/core'; import firebaseAdmin = require('firebase-admin'); import {inject} from '@loopback/core'; import {FirebaseUser} from "../types"; import {ServiceAccount} from "firebase-admin/lib/credential"; import {FirebaseBindings} from "../keys"; @injectable({scope: BindingScope.SINGLETON}) export class FirebaseService { constructor( @inject(FirebaseBindings.FIREBASE_SERVICE_ACCOUNT) serviceAccount: ServiceAccount, @inject(FirebaseBindings.FIREBASE_DB_URL) databaseURL: string, ) { console.log("-------------------------INIT FIREBASE--------------------------"); firebaseAdmin.initializeApp({ credential: firebaseAdmin.credential.cert(serviceAccount), databaseURL, }); } async verifyIdTokenAndGetFirebaseUser(idToken: string): Promise<FirebaseUser> { const decodedIdToken = await firebaseAdmin.auth().verifyIdToken(idToken); const uid = decodedIdToken.uid; return firebaseAdmin.auth().getUser(uid); } }