我在Reaction中创建了一个admin用户界面,其中显示了一个用户列表,一个名为"Role"的列显示了该用户(在本例中为admin)的自定义声明

如果用户具有"admin"自定义声明,则在单元格中显示"Admin",否则显示"User"

  const rows =
    users &&
    users?.data.map(user => ({
      name: user.displayName || '',
      email: user.email,
      uid: user.uid,
      role: 'User',
    }));

role属性在这里是硬编码的.

在这里,我循环遍历来自List All Users函数的users:

// List all users
exports.listUsers = functions.https.onCall((data, context) => {
  return admin
    .auth()
    .listUsers()
    .then(listUsersResult => {
      const result = listUsersResult.users.map(user => {
        const { uid, email, displayName } = user;
        return { uid, email, displayName };
      });

      return result;
    })
    .catch(error => {
      return { error: 'Error listing users' };
    });
});

如何集成此功能,使其在表格中显示正确的状态?

// Lookup the user associated with the specified uid.
getAuth()
  .getUser(uid)
  .then((userRecord) => {
    // The claims can be accessed on the user record.
    console.log(userRecord.customClaims['admin']);
  });

我如何为表中的每一行调用它? 可以从所有用户功能的同一列表中访问索赔吗?

推荐答案

listUsersResult中的每个user都是具有customClaims属性的UserRecord.您可以将其添加到您的结果中,如下所示:

const result = listUsersResult.users.map(user => {
  const { uid, email, displayName, customClaims, } = user;
  return { uid, email, displayName, customClaims };
});

customClaims是一张 map ,但如果你还没有设置任何声明,也可以是undefined.

Reactjs相关问答推荐

无法使用#13;或br将新行设置为文本区域'"&"<>

Redux向后端发送请求时出现钩子问题

在新屏幕上显示照片时出现问题-react

useRef()的钩子调用无效

PWA:注册事件侦听器不会被触发

为什么 useEffect 的初始化对于加载 localStorage 不起作用?

redux 工具包使用中间件构建器函数时,必须返回一个中间件数组

为嵌套路由配置一个不存在的 url 的重定向

Cypress 组件测试不渲染react 组件(但它的内容)

React js中不记名令牌中的空间问题

动态添加或删除文本输入字段并将值设置为 React JS 中主要状态的数组

如何使用 React 在客户端获取 nestjs websocket 异常错误?

如何通过 id 从 useSprings 数组中删除元素

如何向 surveyjs 调查添加多个结尾?

使用 React.UseEffect 从 api 获取但我的清理返回不起作用

react 测试显示错误的结果

组件焦点上的 MUI 更改栏 colored颜色

如何在 Reactjs 中判断受保护路由上的用户角色?

ReactJS:按钮启用禁用更改 colored颜色

如何判断对话框组件是否位于对话框之上?