Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter app giving UNAUTHENTICATED errors when calling Firebase cloud functions directly

I tried using firebase cloud functions oncall method directly from my FLUTTER app and it keeps giving me an UNAUTHENTICATED error even when I am logged in Flutter app code

CloudFunctions function = CloudFunctions.instance;
final HttpsCallable createCallable = function.getHttpsCallable(functionName: 'two_create')
  ..timeout = const Duration(seconds: 30);

try {
  final HttpsCallableResult result = await createCallable.call({
    'stay': 'con50',
    'open': false
  });

  print(result.data);
}on CloudFunctionsException catch(e){
  print('-----------------------------------------------');
  print(e.code); print(e.message); print(e.details);
  print('-----------------------------------------------');
}

dynamic user = await FirebaseAuth.instance.currentUser();
print(user.uid);

I got this error

I/flutter (19466): -----------------------------------------------
I/flutter (19466): UNAUTHENTICATED
I/flutter (19466): UNAUTHENTICATED
I/flutter (19466): null
I/flutter (19466): -----------------------------------------------
I/flutter (19466): eMTX6OcYPOSeYdimmCSqjbnnmWM2

I tried printing out the uid to show I am currently signed in and I am currently using an android device for testing.

This is the function I am calling from my app

exports.two_create = functions.https.onCall(async (context,data)=>{
    var oncall = require('./httponcall');

    var text = await oncall.create(admin,allRef.one2,context,data);
    return text;
})

And I didn't get any logs from Firebase console when it was triggered

like image 859
Mayor Avatar asked Sep 07 '25 21:09

Mayor


1 Answers

  1. first update the firebase tools and dependencies to latest.

https://firebase.google.com/docs/functions/get-started?authuser=0#set-up-node.js-and-the-firebase-cli

npm install firebase-functions@latest firebase-admin@latest --save

npm install -g firebase-tools

  1. after deploy

  2. go to Google cloud console(GCP) not the firebase console GCP sidebar > Cloud functions > select your function go to PERMISSIONS >ADD > "allUsers"> Firebase > Firebase Viewer

do this at your own risk iam not any cloud devloper . i dont know the risk of adding allUsers like this iam new to flutter devlopment

enter image description here

like image 139
Sumer Singh Avatar answered Sep 10 '25 10:09

Sumer Singh