Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript KeyClope-使用管理API向使用循环的用户添加客户端角色_Javascript_Node.js_Arrays_Loops_Keycloak - Fatal编程技术网

Javascript KeyClope-使用管理API向使用循环的用户添加客户端角色

Javascript KeyClope-使用管理API向使用循环的用户添加客户端角色,javascript,node.js,arrays,loops,keycloak,Javascript,Node.js,Arrays,Loops,Keycloak,我正在尝试使用nodejs向用户函数分配keydepate角色。我能够使用用户id、客户端id和角色(名称、id)分配单个用户一次,但我想写一个方法,我可以得到所有的用户id和角色id和名称,我已经做了,基本上通过赋值方法循环,这样我可以一个一个地给每个用户分配一个角色,直到循环结束 功能分配角色(适用于单用户) 函数调用正在工作 GetUser(userid, kc_accessToken).then((resp) => { userid = resp.

我正在尝试使用nodejs向用户函数分配keydepate角色。我能够使用用户id、客户端id和角色(名称、id)分配单个用户一次,但我想写一个方法,我可以得到所有的用户id和角色id和名称,我已经做了,基本上通过赋值方法循环,这样我可以一个一个地给每个用户分配一个角色,直到循环结束

功能分配角色(适用于单用户)

函数调用正在工作

      GetUser(userid, kc_accessToken).then((resp) => {
           userid = resp.data.map(user => user.id);
            console.log("User Ids");
            console.log(userid);
        })

      GetRole(roleId, roleName, kc_accessToken).then((resp) => {
           roleId = resp.data.map(role => role.id);
           roleName = resp.data.map(role => role.name);
            console.log("Role Id and Names");
            console.log(roleId);
            console.log(roleName);

        })

         AssignRole(userUUID, "3b178b5b-b323-4bb6-b8d3-a6c2d342fd72", "role4", kc_clientUUID, kc_accessToken).then((resp) => {

                })

现在我有了一个用户列表和一个角色列表,如何使用循环将每个角色分配给每个用户

这是我的密码

函数调用不工作

        GetUser(userid, kc_accessToken).then((resp) => {
            userid = resp.data.map(user => user.id);

            GetRole(roleId, roleName, kc_accessToken).then((resp) => {
                roleId = resp.data.map(role => role.id);
                roleName = resp.data.map(role => role.name);

                // Assign roles to all the user
                AssignRole(userid, roleId, roleName, kc_clientUUID, 
           kc_accessToken).then((resp) => {

                })
            })
        })


我对javascript了解不多,但根据您展示的内容:

userid = resp.data.map(user => user.id);
返回一个userid数组,而不是单个userid,这同样适用于角色, 因此,我认为以下代码应该可以工作:

GetUser(userid, kc_accessToken).then((resp) => {
            userid = resp.data.map(user => user.id);

            GetRole(roleId, roleName, kc_accessToken).then((resp) => {
                roleId = resp.data.map(role => role.id);
                roleName = resp.data.map(role => role.name);

                for (var i=0; i < userID.length; i++) {  
                   for (var j=0; j < roleId.length; j++) {
                        AssignRole(userid[i], roleId[j], roleName[j], kc_clientUUID, kc_accessToken) ....
                   }
                }

                
            })
        })
GetUser(userid,kc_accessToken)。然后((resp)=>{
userid=resp.data.map(user=>user.id);
GetRole(roleId、roleName、kc_accessToken)。然后((resp)=>{
roleId=resp.data.map(role=>role.id);
roleName=resp.data.map(role=>role.name);
对于(var i=0;i
再次语法可能是关闭的,让我知道

GetUser(userid, kc_accessToken).then((resp) => {
            userid = resp.data.map(user => user.id);

            GetRole(roleId, roleName, kc_accessToken).then((resp) => {
                roleId = resp.data.map(role => role.id);
                roleName = resp.data.map(role => role.name);

                for (var i=0; i < userID.length; i++) {  
                   for (var j=0; j < roleId.length; j++) {
                        AssignRole(userid[i], roleId[j], roleName[j], kc_clientUUID, kc_accessToken) ....
                   }
                }

                
            })
        })