首页 > 解决方案 > 如何删除自定义声明

问题描述

我有一些自定义声明,例如

{
  claim1: true,
  claim2: true,
}

我想删除一项声明

{
  claim2: true,
}

在 firebase 身份验证中,有没有办法删除自定义声明?这里使用

admin.auth().updateUser(uid, {claim: null});

但更新用户没有声明财产。

如果我使用它,这将删除以前的声明并设置为 null,而不是删除

admin.auth().setCustomUserClaims(context.auth.uid, {claim1: null});
{
  claim1: null,
}

标签: typescriptfirebasefirebase-authenticationfirebase-admin

解决方案


  1. 使用getUser()获取用户 UID 的 UserRecord 。
  2. 从customClaims属性获取他们现有的自定义声明。
  3. 根据需要对其进行更改。
  4. 使用setCustomUserClaims()更新修改后的声明。

推荐阅读