Отключить телефон от определенного пользователя - PullRequest
0 голосов
/ 07 ноября 2019

Следующая функция Google Cloud должна отсоединить телефонный номер от определенного пользователя. Если код был выполнен на клиенте, он будет выглядеть следующим образом. Однако (currentUser) не определен, что имеет смысл, поскольку облачная функция ничего не знает о текущем пользователе.

Чем заменить (currentUser - ниже) на?

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)

Спасибо за ваши усилия и время, чтобы помочь ...

1 Ответ

2 голосов
/ 08 ноября 2019

Если вы хотите удалить номер телефона у пользователя через Admin SDK, вот как вы это делаете:

admin.auth().getUserByPhoneNumber(phoneNumber)
  .then((userRecord) => {
    return admin.auth().updateUser(userRecord.uid, {phoneNumber: null});
  })
  .then((userRecord) => {
    // Phone number should be cleared from the user record.
  })
  .catch((error) => {
    // Error occurred.
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...