Firebase身份验证电话号码

时间:2018-05-09 17:58:12

标签: swift firebase firebase-authentication

想象一下,我买了一张新的Chip Sim Card。 然后我尝试在某个应用程序中注册此电话号码,但收到错误:此凭据已与其他用户帐户关联。

如何取消链接/删除旧手机提供商以在最新帐户中使用它?

谢谢!

1 个答案:

答案 0 :(得分:0)

我已经使用Google Cloud上的Rest功能解决了这个问题。 当我收到错误1705(此凭据...)时,我会调用我的服务,然后再试一次。

exports.removeUserPhone = functions.https.onRequest((req, res) => {

const phoneNumber = req.query.phoneNumber || req.body.phoneNumber
console.log("Phone Number:", phoneNumber);

var ret = { 
    success : true,
    result  : ""
};

admin.auth().getUserByPhoneNumber(phoneNumber)
.then(userRecord => {
    console.log("Successfully fetched user data:", userRecord.toJSON());

    admin.auth().updateUser(userRecord.uid, {
        phoneNumber: null
    })
    .then(userRecord2 => {
        ret.result = "Successfully updated user."
        res.send(ret)
        // See the UserRecord reference doc for the contents of userRecord.
        console.log("Successfully updated user", userRecord2.toJSON());
    })
    .catch(error => {
        ret.success = false
        ret.result  = "Error updating user."
        res.send(ret)
        console.log("Error updating user:", error);
    });
 })
 .catch(error => {
    ret.success = false
    ret.result  = "Error fetching user data."
    res.send(ret)
    console.log("Error fetching user data:", error);
    });
});

如果这是最好的方式,请点击它,但它的工作正常。