From 6d67dfbdd450d15d37599ea343a1e09556fe724e Mon Sep 17 00:00:00 2001 From: dcore94 Date: Wed, 17 Feb 2021 16:24:57 +0100 Subject: [PATCH] added more precise matching of user lookup --- templates/user-group-role_created.json.j2 | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/templates/user-group-role_created.json.j2 b/templates/user-group-role_created.json.j2 index 868ab17..b9bd330 100644 --- a/templates/user-group-role_created.json.j2 +++ b/templates/user-group-role_created.json.j2 @@ -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", "taskReferenceName": "check_user_existance", "inputParameters": { - "user": "${lookup_user.output.body[0]}" + "user": "${select_user.output.body[0]}" }, "type": "DECISION", "caseExpression": "($.user == null ? 'true' : 'false')", @@ -121,7 +131,7 @@ "taskReferenceName" : "assign_role_to_user", "type" : "SIMPLE", "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], "method" : "POST", "body" : "${select_role.output.result}",