首页 > 解决方案 > firebase auth 是否可以同时更新用户和自定义声明?

问题描述

是否可以同时更新用户和自定义声明?

我可以通过文档中的示例更新自定义声明

admin.auth().setCustomUserClaims(uid, {admin: true}).then(() => {
});

我可以更新用户

firebase.auth().updateUser(request.body.user.uid, {
   displayName:   request.body.user.username,
   email:   request.body.user.email
})

我认为它会像下面的示例一样简单,但它一直将自定义声明保留为未定义

const customClaims = {
  admin: true,
  accessLevel: 9
};

firebase.auth().updateUser(request.body.user.uid, {
  displayName:   request.body.user.username,
  email:   request.body.user.email,
  customClaims: customClaims
})

有没有办法同时做到这两点?还是他们必须分开?

标签: javascriptnode.jsfirebasefirebase-authenticationfirebase-admin

解决方案


updateUser方法被记录为采用字符串 uid 和UpdateRequest对象。正如您从链接的 API 文档中看到的那样,UpdateRequest 没有 customClaims 属性,也没有任何可以让您在同一个调用中更新声明的东西。如果这对您的用例很重要,您可以随时提交功能请求。


推荐阅读