如何使用 Angular 从 Firebase 中删除用户帐户

Posted

技术标签:

【中文标题】如何使用 Angular 从 Firebase 中删除用户帐户【英文标题】:How to delete user account from firebase with angular 【发布时间】:2019-12-28 23:46:46 【问题描述】:

我有一些用户,这个用户有角色,律师可以删除客户,管理员可以删除律师和客户,但是当我以管理员身份登录时,我可以删除另一个用户,因为我可以获得另一个用户的 idToken,因为要获取idToken 我需要用这个用户登录,我用我的管理员用户登录,我只有我的 idToken 没有另一个用户的令牌。 谁能帮我 ?

我试试这个:

  borrarUsario(usuario:UsuarioModel)
    


      this.http.delete(`$this.url/Usuarios/$usuario.FireBaseID.json`).subscribe();
      return this.http.post(`https://identitytoolkit.googleapis.com/v1/accounts:delete?key=$myKey`,"idToken":`$usuaro.FireBaseID`);


    

但是这个响应有错误 idToken Invalid 因为 idToken 不是 Firebase ID,我怎样才能在没有与另一个用户登录的情况下获得 idToken

【问题讨论】:

【参考方案1】:

Firebase Admin SDK 提供了User Management 所需的工具。

一种选择是利用Cloud Functions for Firebase 来运行Admin SDK,例如,使用HTTP tiggers。

或者在您的服务器上使用 Admin SDK。开箱即用支持以下语言:

javascript (Node.js) Java Python 去 C#

使用 Node.js 删除用户

admin.auth().deleteUser(uid)
  .then(function() 
    console.log('Successfully deleted user');
  )
  .catch(function(error) 
    console.log('Error deleting user:', error);
  );

Manage Users: Delete a user

见:deleteUser

【讨论】:

以上是关于如何使用 Angular 从 Firebase 中删除用户帐户的主要内容,如果未能解决你的问题,请参考以下文章

使用 Angular 7 从 Firebase 存储中检索图像

如何从 Firebase Storage 获取图像并在 Angular 2 ngFor 中显示它们

如何根据 Angular 6 中的 Firebase 实时数据库中的键获取单个记录

这种用于从 Angular 应用程序查询 Firebase 的方法究竟是如何工作的?

Angular Firebase将Observable转换为普通对象以在组件内使用数据

如何使用 AngularFire 从 FireBase 存储中获取文件列表