added more precise matching of user lookup

This commit is contained in:
dcore94 2021-02-17 16:24:57 +01:00
parent 6ec65c46b5
commit 6d67dfbdd4
1 changed files with 12 additions and 2 deletions

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.body[0]}"
}, },
"type": "DECISION", "type": "DECISION",
"caseExpression": "($.user == null ? 'true' : 'false')", "caseExpression": "($.user == null ? 'true' : 'false')",
@ -121,7 +131,7 @@
"taskReferenceName" : "assign_role_to_user", "taskReferenceName" : "assign_role_to_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.return[0].id}/role-mappings/clients/${lookup_client.output.body[0].id}",
"expect" : [204, 404], "expect" : [204, 404],
"method" : "POST", "method" : "POST",
"body" : "${select_role.output.result}", "body" : "${select_role.output.result}",