diff --git a/templates/group_created.json.j2 b/templates/group_created.json.j2 index 3d05e4b..e88598f 100644 --- a/templates/group_created.json.j2 +++ b/templates/group_created.json.j2 @@ -430,9 +430,40 @@ "taskReferenceName" : "join_role_creation", "type" : "JOIN", "joinOn" : [ - "join_parallel_role_addition", + "join_parallel_policy_addition", "assign_client_member_role_to_kc_group" ] - } + }, + { + "name": "LAMBDA_TASK", + "taskReferenceName": "policy_list", + "type": "LAMBDA", + "inputParameters": { + "memberpolicy" : "${create_role_policy_member.output.body.id}", + "otherpolicies" : "${join_role_creation.output.body.id}", + "scriptExpression": "return Java.to($.memberpolicy.concat(otherpolicy),'java.lang.String[]')" + } + }, + { + "name" : "pyrest", + "taskReferenceName" : "finalize_permission", + "type" : "SIMPLE", + "inputParameters" : { + "url" : "${init.input.keycloak_admin}/clients/${extract_client_id.output.result.client_id}/authz/resource-server/permission/resource/${create_permission.output.body.id}", + "body" : { + "name": "Default Permission", + "description": "", + "type" : "resource", + "logic": "POSITIVE", + "decisionStrategy": "AFFIRMATIVE", + "policies" : "${policylist.output.result}" + }, + "method" : "PUT", + "headers" : { + "Authorization" : "Bearer ${authorize.output.body.access_token}", + "Content-Type" : "application/json" + } + } + } ] }