해결된 질문
작성
·
107
0
플러터플로우에서 cloud_functions를 배포할 때 위와 같은 에러가 발생해서 파이어베이스의 Authentication의 설정에보면 차단함수가 열려있지 않습니다. 이것을 열고 함수를 설정하는 부분이 나오는데 아마도 변경된것같아요.
참고 링크 남겨드립니다.
답변 3
3
onCall
을 onRequest
형식으로 바꿔보세요.
저도 동일한 문제를 겪었는데, 아무리 해도 안되다가 onRequest
로 바꾸고 Deploy
가 되었습니다.
const functions = require("firebase-functions");
const admin = require("firebase-admin");
// To avoid deployment errors, do not call admin.initializeApp() in your code
exports.createCustomToken = functions
.region("asia-northeast3")
.https.onRequest(async (request, response) => {
let data = request.body.data;
functions.logger.log(`# cors with header`);
response.set("Access-Control-Allow-Origin", "*"); // 모든 도메인에서의 요청을 허용
response.set("Access-Control-Allow-Methods", "GET, POST"); // 허용된 메소드
functions.logger.log(`# createUser request: ${JSON.stringify(request.body)}`,);
let user = data.user;
try {
await admin.auth().createUser(user);
functions.logger.log(`# createUser success ${user.uid}`);
} catch (e) {
functions.logger.log(`# createUser failed ${user.uid}`);
await admin.auth().updateUser(user.uid, user);
functions.logger.log(`# updateUser success ${user.uid}`);
}
let token = await admin.auth().createCustomToken(user.uid);
let result = {data: {token}};
functions.logger.log(`# result ${JSON.stringify(result)}`);
response.send(result);
});
1
빠른 피드백 감사드립니다.. 사실을 해결하고 다시 올리던지 하려고 지우려했는데 빛답주셨네용;;; ㅋㅋ