簡體   English   中英

我嘗試為 createUser 創建一個可調用的函數,但是我在運行它時遇到了一個錯誤,我不知道為什么

[英]I tried making a callable function for createUser but I am getting an error wen I run it and I can't figure out why

我正在嘗試制作一個用戶管理頁面,並設置了一個可調用的函數,以在 firebase 上的 Web 應用程序上運行以創建一個新用戶。 html 函數旨在更新用戶或創建新用戶。 我正在嘗試測試保存新用戶。 據我所知,所有變量都匹配,但它仍然收到錯誤。 該錯誤沒有幫助,所以我不知道出了什么問題。 有人可以幫忙嗎?

用戶管理.html

            function save(){
                if(document.getElementById("password").value === document.getElementById("p2").value){
                    if(document.getElementById("username").value === ""){
                        const createUser = firebase.functions().httpsCallable("createUser");
                        createUser({ email: document.getElementById("email").value, name:  document.getElementById("first").value + ' ' + document.getElementById("last").value, phone: document.getElementById("phone").value, password: document.getElementById("password").value})
                        .then((result) => {
                            // Read result of the Cloud Function.
                            console.log(result.data)
                        });
                    }
                    else{
                    const updateUser = firebase.functions().httpsCallable('updateUser');
                        // Passing params to data object in Cloud functinon
                        updateUser({ email: document.getElementById("email").value, name:  document.getElementById("first").value + ' ' + document.getElementById("last").value, phone: document.getElementById("phone").value, uid: document.getElementById("username").value})
                        .then((result) => {
                            // Read result of the Cloud Function.
                            console.log(result.data)
                        });
                        if(!(document.getElementById("password").value === "")){
                            const updatePassword = firebase.functions().httpsCallable('updatePassword');
                            // Passing params to data object in Cloud functinon
                            updatePassword({password: document.getElementById("password").value, uid: document.getElementById("username").value})
                            .then((result) => {
                                // Read result of the Cloud Function.
                                console.log(result.data)
                            });
                        }
                    }

                }
                else{
                    alert("password and confirm do not match")
                }
            }

索引.js

  export const createUser = functions.https.onCall(async (data, context) => {
    const {email, name, phone, password} = data;
    await admin
    .auth()
    .createUser({
      email: email,
      displayName: name,
      phoneNumber: phone,
      password: password,
      emailVerified: true,
      disabled: false,
    }).then((result) => {
           // Read result of the Cloud Function.
           console.log(result.data)
    }).catch(console.error);
    return {data: `User updated`}
  });  

頁面的導入是:

        <script src="/__/firebase/8.7.1/firebase-app.js"></script>
        <script src="/__/firebase/8.7.1/firebase-analytics.js"></script>
        <script src="/__/firebase/8.7.1/firebase-auth.js"></script>
        <script src="/__/firebase/8.7.1/firebase-functions.js"></script>
        <script src="/__/firebase/8.7.1/firebase-firestore.js"></script>
        <script src="/__/firebase/init.js?useEmulator=true"></script>

import * as functions from "firebase-functions";

import * as admin from "firebase-admin";

當前錯誤:

在此處輸入圖片說明

在此處輸入圖片說明

有人幫助了我。 我忘了初始化 admin sdk。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM