【发布时间】:2019-11-07 06:40:58
【问题描述】:
以下 Google Cloud 函数应该取消与特定用户的电话号码的关联。如果代码是在客户端上执行的,它将如下所示。但是,(currentUser) 是未定义的,这是有道理的,因为云函数对当前用户一无所知。
我应该用什么替换 (currentUser - below)?
const admin = require('firebase-admin');
module.exports = async function (request, response) {
/* eslint-disable */
admin.auth().getUserByPhoneNumber(request.body.phoneNo)
.then( (userRecord) => {
// WHAT SHOULD I REPLACE currentUser (BELOW) WITH?
admin.auth().currentUser.unlink(firebase.auth.PhoneAuthProvider.PROVIDER_ID)
.then ( () => {
console.log("getUserByPhoneNumber - unlink - then");
})
.catch( (error) => {
console.log("getUserByPhoneNumber - unlink - catch - error:", error);
})
;
response.send({ success: true });
})
.catch( (error) => {
console.log('getUserByPhoneNumber - catch - error:', error);
response.send({ success: false });
});
/* eslint-enable */
};
我尝试了以下但没有成功。
admin.auth().getUser(userRecord.uid).unlink(firebase.auth.PhoneAuthProvider.PROVIDER_ID)
admin.auth().userRecord.unlink(firebase.auth.PhoneAuthProvider.PROVIDER_ID)
感谢您的努力和时间帮助...
【问题讨论】:
-
unlink()在firebase-admin中不受支持。据我所知,没有办法在云函数中实现这一点。这是admin.auth()的完整 API 界面:firebase.google.com/docs/reference/admin/node/…
标签: node.js firebase firebase-authentication google-cloud-functions firebase-admin