I have a Firebase project with over 10 cloud functions. Today I added 3 more, but all three of the new ones are throwing an error UNAUTHENTICATED without actually trying to hit the function. (There's no record of a function call in the logs). I haven't made any changes to my environment or Firebase project since adding the previous functions.
I have tried redeploying all of the functions in my project, the three newest ones continue to fail while the previous ones work fine. I have also verified that I am using Node 8, since there are some similar issues reported stemming from using Node 10. I am not sure what else to try since the issue only applies to the new functions.
The new functions all have a similar signature:
exports.createGroup = functions.https.onCall((data, context) => {
//Firestore access
});
They are being called like this:
const create = functions().httpsCallable('createGroup');
return create({ group: oGroup }).then(result => {
//Do something
}).catch(err => {
console.log(err.message); //UNAUTHENTICATED
});
Node Version: 8.16.2
Firebase Tools Version: 7.6.1
It must be solved at your GCP Console (not Firebase). Just follow these steps:
Via Google Cloud docs:
As of January 15, 2020, HTTP functions require authentication by default. You can specify whether a function allows unauthenticated invocation at or after deployment.
The solution was to utilize the Google Cloud console (NOT the Firebase console) to add the allUsers
permission to the newly created functions.
https://cloud.google.com/functions/docs/securing/managing-access-iam#allowing_unauthenticated_function_invocation
1. Go to the Google Cloud Console:
2. Click the checkbox next to the function to which you want to grant
access.
3. Click Permissions at the top of the screen. The Permissions panel
opens.
4. Click Add principal.
5. In the New principals field, type allUsers
6. Select the role Cloud Functions > Cloud Functions Invoker from the
Select a role drop-down menu.
7. Click Save.
I ran into this error when deploying several functions and there was an issue during the upload where it seems the deployment got corrupted .. perhaps network related, not sure
After deleting the offending cloud functions in the Firebase console, and then doing a fresh successful deploy for them, the "FirebaseFunctionsException UNAUTHENTICATED" error went away
First I tried to just redeploy the functions, but that was not enough, the error continued this way
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With