我刚开始构建Chrome扩展程序,并尝试在我的Chrome扩展程序中使用我的网络应用程序中的Firebase身份验证
我想发生的事情:(如果这不是正确的方法,请告诉我)
1.用户在webapp中登录/注册
1.在注册时,调用我的函数到createCustomToken
并将令牌返回给客户端
1.将令牌保存到Chrome存储中,以便我的扩展程序可以对用户进行身份验证。
问题是:
当我调用该函数时,我在控制台中返回的所有内容都是{data: null}
,而不是customToken。
Firestore功能代码
const {logger} = require("firebase-functions");
const {onRequest} = require("firebase-functions/v2/https");
const {onCall, HttpsError} = require("firebase-functions/v2/https");
const {initializeApp} = require("firebase-admin/app");
const {getAuth} = require("firebase-admin/auth");
const {getFirestore} = require("firebase-admin/firestore");
initializeApp();
exports.createToken = onCall((request) => {
const uid = request.auth.uid;
getAuth().createCustomToken(uid).then((customToken) => {
return customToken
})
.catch((error) => {
return error;
});
});
Webapp代码(Next.js)
// the code below is currently running onClick
const addMessage = () => {
const createToken = httpsCallable(functions, 'createToken');
createToken().then(result => {
console.log(result); >> the result in console is "data: null"
});
}
1条答案
按热度按时间puruo6ea1#
你的函数没有返回任何东西给调用者。您需要在顶层使用return语句来返回EQUAC调用链的结果。