Телефонный номер аутентификации Firebase - PullRequest
0 голосов
/ 09 мая 2018

Представьте, что я купил новую Чип-сим-карту. Затем я попытался зарегистрировать этот номер телефона в каком-либо приложении, но получаю ошибку: эти учетные данные уже связаны с другой учетной записью пользователя.

Как я могу отменить связь / удалить прежний телефонный провайдер, чтобы использовать его в новой учетной записи?

Спасибо!

1 Ответ

0 голосов
/ 10 мая 2018

Я решил эту проблему с помощью функции отдыха в Google Cloud. Когда я получил ошибку 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);
    });
});

ИДК, если это лучший способ, но работает отлично.

...