fixed user selection

This commit is contained in:
dcore94 2021-02-17 18:08:52 +01:00
parent 919e97a1fe
commit fa7f517a4a
4 changed files with 46 additions and 6 deletions

View File

@ -78,6 +78,16 @@
} }
} }
}, },
{
"name": "LAMBDA_TASK",
"taskReferenceName": "select_user",
"inputParameters": {
"foundusers": "${lookup_user.output.body}",
"username": "${workflow.input.user}",
"scriptExpression": "for(var i=0; i < $.foundusers.length;i++){if($.foundusers[i]['username'] == $.username) return Java.to([$.foundusers[i]], 'java.lang.Object[]')}"
},
"type": "LAMBDA"
},
{ {
"name" : "pyrest", "name" : "pyrest",
"taskReferenceName" : "lookup_client", "taskReferenceName" : "lookup_client",
@ -153,7 +163,7 @@
"taskReferenceName" : "assign_user_to_group", "taskReferenceName" : "assign_user_to_group",
"type" : "SIMPLE", "type" : "SIMPLE",
"inputParameters" : { "inputParameters" : {
"url" : "${init.input.keycloak_admin}/users/${lookup_user.output.body[0].id}/groups/${extract_group.output.result.group.id}", "url" : "${init.input.keycloak_admin}/users/${select_user.output.result[0].id}/groups/${extract_group.output.result.group.id}",
"method" : "PUT", "method" : "PUT",
"headers" : { "headers" : {
"Authorization" : "Bearer ${authorize.output.body.access_token}" "Authorization" : "Bearer ${authorize.output.body.access_token}"

View File

@ -47,11 +47,21 @@
} }
} }
}, },
{
"name": "LAMBDA_TASK",
"taskReferenceName": "select_user",
"inputParameters": {
"foundusers": "${lookup_user.output.body}",
"username": "${workflow.input.user}",
"scriptExpression": "for(var i=0; i < $.foundusers.length;i++){if($.foundusers[i]['username'] == $.username) return Java.to([$.foundusers[i]], 'java.lang.Object[]')}"
},
"type": "LAMBDA"
},
{ {
"name": "check_user_existance", "name": "check_user_existance",
"taskReferenceName": "check_user_existance", "taskReferenceName": "check_user_existance",
"inputParameters": { "inputParameters": {
"user": "${lookup_user.output.body[0]}" "user": "${select_user.output.result[0]}"
}, },
"type": "DECISION", "type": "DECISION",
"caseExpression": "($.user == null ? 'true' : 'false')", "caseExpression": "($.user == null ? 'true' : 'false')",
@ -110,7 +120,7 @@
"taskReferenceName" : "remove_role_from_user", "taskReferenceName" : "remove_role_from_user",
"type" : "SIMPLE", "type" : "SIMPLE",
"inputParameters" : { "inputParameters" : {
"url" : "${init.input.keycloak_admin}/users/${lookup_user.output.body[0].id}/role-mappings/clients/${lookup_client.output.body[0].id}", "url" : "${init.input.keycloak_admin}/users/${select_user.output.result[0].id}/role-mappings/clients/${lookup_client.output.body[0].id}",
"expect" : 204, "expect" : 204,
"method" : "DELETE", "method" : "DELETE",
"body" : "${select_role.output.result}", "body" : "${select_role.output.result}",

View File

@ -48,6 +48,16 @@
} }
} }
}, },
{
"name": "LAMBDA_TASK",
"taskReferenceName": "select_user",
"inputParameters": {
"foundusers": "${lookup_user.output.body}",
"username": "${workflow.input.user}",
"scriptExpression": "for(var i=0; i < $.foundusers.length;i++){if($.foundusers[i]['username'] == $.username) return Java.to([$.foundusers[i]], 'java.lang.Object[]')}"
},
"type": "LAMBDA"
},
{ {
"name" : "pyrest", "name" : "pyrest",
"taskReferenceName" : "lookup_client", "taskReferenceName" : "lookup_client",
@ -123,7 +133,7 @@
"taskReferenceName" : "assign_user_to_group", "taskReferenceName" : "assign_user_to_group",
"type" : "SIMPLE", "type" : "SIMPLE",
"inputParameters" : { "inputParameters" : {
"url" : "${init.input.keycloak_admin}/users/${lookup_user.output.body[0].id}/groups/${extract_group.output.result.group.id}", "url" : "${init.input.keycloak_admin}/users/${select_user.output.result[0].id}/groups/${extract_group.output.result.group.id}",
"method" : "PUT", "method" : "PUT",
"headers" : { "headers" : {
"Authorization" : "Bearer ${authorize.output.body.access_token}" "Authorization" : "Bearer ${authorize.output.body.access_token}"

View File

@ -49,10 +49,20 @@
} }
}, },
{ {
"name": "LAMBDA_TASK",
"taskReferenceName": "select_user",
"inputParameters": {
"foundusers": "${lookup_user.output.body}",
"username": "${workflow.input.user}",
"scriptExpression": "for(var i=0; i < $.foundusers.length;i++){if($.foundusers[i]['username'] == $.username) return Java.to([$.foundusers[i]], 'java.lang.Object[]')}"
},
"type": "LAMBDA"
},
{
"name": "check_user_existance", "name": "check_user_existance",
"taskReferenceName": "check_user_existance", "taskReferenceName": "check_user_existance",
"inputParameters": { "inputParameters": {
"user": "${lookup_user.output.body[0]}" "user": "${select_user.output.result[0]}"
}, },
"type": "DECISION", "type": "DECISION",
"caseExpression": "($.user == null ? 'true' : 'false')", "caseExpression": "($.user == null ? 'true' : 'false')",
@ -101,7 +111,7 @@
"taskReferenceName" : "remove_all_roles_from_user", "taskReferenceName" : "remove_all_roles_from_user",
"type" : "SIMPLE", "type" : "SIMPLE",
"inputParameters" : { "inputParameters" : {
"url" : "${init.input.keycloak_admin}/users/${lookup_user.output.body[0].id}/role-mappings/clients/${lookup_client.output.body[0].id}", "url" : "${init.input.keycloak_admin}/users/${select_user.output.result[0].id}/role-mappings/clients/${lookup_client.output.body[0].id}",
"expect" : 204, "expect" : 204,
"method" : "DELETE", "method" : "DELETE",
"body" : "${get_client_roles.body}", "body" : "${get_client_roles.body}",