簡體   English   中英

如何刪除Firebase auth中的所有用戶?

[英]How to delete all users in Firebase auth?

我正在嘗試刪除我存儲在 Firebase 身份驗證中的所有用戶。

不知道為什么 Firebas 控制台中沒有我可以單擊的“按鈕”或 select 多個用戶同時單擊。 反正...

我嘗試像這樣設置一個可調用雲 function:

export const deleteUsers = functions.https.onCall(
    async (req: any, res:any): Promise<any> => {
      const allUsers = await admin.listUsers();
      const allUsersUID = allUsers.users.map((user: { uid: any; }) => user.uid);
      return admin.deleteUsers(allUsersUID).then(() => res.send("deleted"));
    }
  );

但是,當我嘗試使用deleteUsers()firebase:shell調用它時,出現以下 400 錯誤:

firebase > deleteUsers()
Sent request to function.
firebase > >  {"severity":"WARNING","message":"Request body is missing data."}
>  {"severity":"ERROR","message":"Invalid request, unable to process."}

RESPONSE RECEIVED FROM FUNCTION: 400, {
  "error": {
    "message": "Bad Request",
    "status": "INVALID_ARGUMENT"
  }
}

如果我改為使用deleteUsers({})調用它,我會收到以下 500 錯誤:

firebase > deleteUsers({})
Sent request to function.
firebase > >  {"verifications":{"app":"MISSING","auth":"MISSING"},"logging.googleapis.com/labels":{"firebase-log-type":"callable-request-verification"},"severity":"INFO","message":"Callable request verification passed"}
>  {"severity":"ERROR","message":"Unhandled error TypeError: res.on is not a function\n    at C:\\Users\\jastr\\Documents\\Company\\chess-marketplace\\node_modules\\firebase-functions\\lib\\common\\providers\\https.js:365:17\n    at new Promise (<anonymous>)\n    at C:\\Users\\jastr\\Documents\\Company\\chess-marketplace\\node_modules\\firebase-functions\\lib\\common\\providers\\https.js:364:16\n    at newHandler (C:\\Users\\jastr\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\lib\\emulator\\functionsEmulatorRuntime.js:315:16)\n    at fixedLen (C:\\Users\\jastr\\Documents\\Company\\chess-marketplace\\node_modules\\firebase-functions\\lib\\providers\\https.js:120:41)\n    at C:\\Users\\jastr\\Documents\\Company\\chess-marketplace\\node_modules\\firebase-functions\\lib\\common\\providers\\https.js:400:32\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)\n    at async runFunction (C:\\Users\\jastr\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\lib\\emulator\\functionsEmulatorRuntime.js:547:9)\n    at async runHTTPS (C:\\Users\\jastr\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\lib\\emulator\\functionsEmulatorRuntime.js:573:5)\n    at async handler (C:\\Users\\jastr\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\lib\\emulator\\functionsEmulatorRuntime.js:493:17)"}

RESPONSE RECEIVED FROM FUNCTION: 500, {
  "error": {
    "message": "INTERNAL",
    "status": "INTERNAL"
  }
}

我究竟做錯了什么?

調用可調用雲 Function 需要您遵循其 協議或使用實現該協議的SDK

如果只想在 Node 腳本中執行代碼,可以將其聲明為:

export const deleteUsers = function() { 
  ...
}

暫無
暫無

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

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