从keycloak中获取用户名列表,保存到数组中以备后用

Get the username list from keycloak and save it to an array for later use

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

myfile.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);

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

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

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

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