Flutter app giving UNAUTHENTICATED errors when calling Firebase cloud functions directly
- first update the firebase tools and dependencies to latest.
npm install firebase-functions@latest firebase-admin@latest --save
npm install -g firebase-tools
-
after deploy
-
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
Sammy
Updated on November 21, 2022Comments
-
Sammy over 1 year
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
-
Doug Stevenson about 4 yearsPlease edit the question to show the function code that you're trying to invoke, and any logs that it might be generating.
-
Doug Stevenson about 4 yearsIf the function isn't actually being invoked (you find no logs), then contact Firebase support for assistance. support.google.com/firebase/contact/support
-
vitooh about 4 yearsThis might be a matter of Node version. Please take a look: stackoverflow.com/questions/56120115/…
-
Hannah Stark about 4 yearsI have the same issue!
-
Sammy about 4 yearsI tried changing the node version I still got the same error
-
Hannah Stark about 4 yearsFor me the issue was that the invoker was not set on console.cloud.google.com/functions/details
-
vitooh about 4 yearsI think @HannahStark is referring to this cloud.google.com/functions/docs/securing/…, have you checked that?
-