-1

我正在尝试编写代码来检索 keycloak 用户列表中存在的所有用户。我正在获取 keycloak 中的所有用户。但我只想从完整的用户列表中获取用户名或 ID,并将该值存储在一个数组中,我可以使用该数组为用户分配角色

我的文件.cs

let userName = []
function GetUser(userName,kc_accessToken) {
    let url = `${path}/users`;
    return axios_instance.get(url,
      {
        headers: {
          "content-type": "application/json",
          "authorization": `Bearer ${kc_accessToken}`
        }
      }).then(function (response) {
        console.log("User names!!");

       //full list (working)
       //userName = response.data
       //console.log(response.data);

       //only usernames or ids (not working)
        userName = response.data.username 
        console.log(response.data.username);
      })
      .catch(function (error) {
        console.log("No Users");
      });
  }
  

函数调用

http.createServer(function Test() {
    getAccessToken().then(function (response) {
        kc_accessToken = response.data.access_token;

        GetUser(userName,kc_accessToken).then((resp) => {
        })


    }).catch(function (error) {
        // handle error
        console.log(error);
    })
        .then(function () {
            // always executed
        });;
}).listen(8081);

当我尝试列出所有用户时的输出

在此处输入图像描述

当我试图只获取用户的用户名时我的输出

在此处输入图像描述

4

1 回答 1

1

您在 中获得了一个用户对象数组response.data,因此您可以简单地应用一个 map 函数来生成一个包含用户名的字符串数组:

const usernames = response.data.map(user => user.username)

于 2020-11-08T15:56:59.300 回答