Firebase Function current user update Phone Number
AngularFireAuth update profile of the current user does not support phone number that why we need to firebase callable function for an update phone number after the update you log in from that number as well
1. Setup function for update phoneNumber
firebase init functions
Now, in index.ts file import function and admin
import * as functions from 'firebase-functions'; import * as admin from 'firebase-admin'; const serviceAccount = require('../serviceAccountKey.json'); admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: "your-database-url" });Now, function for update user phoneNumber
export const updateUserPhoneNumber = functions.https.onCall( async (request, context) => { try { const userUpdate = await admin.auth().updateUser(request.uid, { phoneNumber: request.phoneNumber }); return userUpdate; } catch (e) { return e; } } );The function is ready to deploy
firebase deploy --only functions
2. Call Function from Ionic v5
You Need to import firebase function module in app.module.tsimport { AngularFireFunctionsModule } from '@angular/fire/functions'; imports: [AngularFireFunctionsModule]In your page inject dependency in the constructor
import { AngularFireFunctions } from '@angular/fire/functions'; constructor(private functions: AngularFireFunctions)Now callable function call
const callable = this.functions.httpsCallable('updateUserPhoneNumber'); const obs = callable({ uid: user uid, phoneNumber: user phone number}); obs.subscribe(async res => { firebase.auth().currentUser.reload(); firebase.auth().currentUser.getIdToken(true);}); // after update the user's phone number token refresh to contain the update phone number
That's it now arrange all things according to your requirement
Top comments (0)