Я хочу обновить номер телефона пользователя, используемый для аутентификации, я использую Firebase Admin SDK, чтобы обновить номер телефона пользователя, но, похоже, это не работает для меня, и я не понимаю, что я делаю неправильно-
Согласно документам для управления пользователями, я использую приведенный ниже код в облачной функции -
import * as functions from "firebase-functions";
import express = require("express");
import bodyParser = require("body-parser");
import admin = require("firebase-admin");
const serviceAccount = require("./ServiceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://projectname.firebaseio.com"
});
const db = admin.firestore();
const settings = { timestampsInSnapshots: true };
db.settings(settings);
const app = express();
app.use(bodyParser.json());
app.use(
bodyParser.urlencoded({
extended: false
})
);
app.use(function(req, res, next) {
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept"
);
res.setHeader(
"Access-Control-Allow-Methods",
"POST, GET, PATCH, DELETE, OPTIONS"
);
next();
});
/* Change user Mobile Number Request */
app.post("/mchangereq", (req, res) => {
return admin
.auth()
.updateUser(req.body.uid, {
phoneNumber: req.body.phoneNumber,
emailVerified:Boolean(req.body.emailVerified)
})
.then((s) => {
res.status(201).json({ message: "mobile number status", data:{...s} });
}).catch(e => res.status(400).json({ err: e }));
});
exports.apphost = functions.https.onRequest(app);
код работает, но он не обновляет phoneNumber, япопытался обновить другие значения, такие как emailVerified
, которые были успешно обновлены, но phoneNumber не обновляется.
Тестирование с использованием Snapman Snap-Output:
Пожалуйста, дайтея знаю, нужна ли какая-либо дополнительная информация по этому запросу,
если есть какой-либо другой способ обновления phoneNumber, будет полезна ссылка на документ