【问题标题】:Get the username list from keycloak and save it to an array for later use从 keycloak 中获取用户名列表并将其保存到数组中以备后用
【发布时间】:2021-02-20 15:06:08
【问题描述】:

我正在尝试编写代码来检索 keycloak 用户列表中存在的所有用户。我正在获取 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);

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

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

【问题讨论】:

    标签: node.js keycloak httpresponse rest keycloak-rest-api


    【解决方案1】:

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

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

    【讨论】:

    • 哇,效果很好,非常感谢。祝你有美好的一天
    猜你喜欢
    • 2021-09-23
    • 2020-11-11
    • 1970-01-01
    • 2021-01-31
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多