in my project I have to call a cloud function:
if (admin.apps.length === 0) {
admin.initializeApp();
}
exports.addCustomClaim = functions.https.onCall((data) => {
return admin.auth().getUserByEmail(data.email).then((user) => {
return admin.auth().setCustomUserClaims(user.uid, data.claim).then(() => {
return {
message: ` Success!claim ${Object.keys(data.claim)}
as been set on ${data.email}`,
};
}).catch((err) => {
return {error: err, data: data};
});
});
});
this is how I call the function:
addCustomClaim(data:{email:string, claims:{}}){
console.log("setting claims",data.claims)
const functions = getFunctions()
const addAdminRole = httpsCallable(functions,'addAdminRole')
const addCustomClaims = httpsCallable(functions,'addCustomClaims')
return addCustomClaims({email: data.email, claims: data.claims})
}
this is the error:
Access to fetch at 'https://us-central1-genial-lotto.cloudfunctions.net/addCustomClaims' from origin 'http://localhost:8100' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
I do not know what is wrong, maybe some project's configuration