Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -952,7 +952,7 @@
"type": "Select",
"inputs": {
"from": "@body('Compose_SCIM_User_Extension_URNs')",
"select": "@join(take(split(item()?['name'], ':'), sub(length(split(item()?['name'], ':')), 1)), ':')"
"select": "@substring(item()?['name'], 0, lastIndexOf(item()?['name'], ':'))"
}
},
"Compose_SCIM_User_Schemas": {
Expand Down Expand Up @@ -1025,7 +1025,7 @@
]
},
"type": "Compose",
"inputs": "@if(or(or(or(or(equals(items('ForEach_Build_SCIM_Body')?['name'], 'id'), equals(toLower(coalesce(items('ForEach_Build_SCIM_Body')?['type'], 'string')), 'reference')), equals(items('ForEach_Build_SCIM_Body')?['name'], 'externalId')), or(equals(items('ForEach_Build_SCIM_Body')?['name'], 'userName'), equals(items('ForEach_Build_SCIM_Body')?['name'], 'active'))), equals(items('ForEach_Build_SCIM_Body')?['name'], 'roles')), variables('scimDirectUserCreateBody'), if(startsWith(items('ForEach_Build_SCIM_Body')?['name'], 'urn:'), union(variables('scimDirectUserCreateBody'), json(concat('{\"', join(take(split(items('ForEach_Build_SCIM_Body')?['name'], ':'), sub(length(split(items('ForEach_Build_SCIM_Body')?['name'], ':')), 1)), ':'), '\":', string(setProperty(coalesce(variables('scimDirectUserCreateBody')?[join(take(split(items('ForEach_Build_SCIM_Body')?['name'], ':'), sub(length(split(items('ForEach_Build_SCIM_Body')?['name'], ':')), 1)), ':')], json('{}')), last(split(items('ForEach_Build_SCIM_Body')?['name'], ':')), outputs('Compose_SCIM_Source_Value'))), '}'))), if(contains(items('ForEach_Build_SCIM_Body')?['name'], '['), setProperty(variables('scimDirectUserCreateBody'), first(split(items('ForEach_Build_SCIM_Body')?['name'], '[')), setProperty(coalesce(variables('scimDirectUserCreateBody')?[first(split(items('ForEach_Build_SCIM_Body')?['name'], '['))], json('{}')), first(skip(split(items('ForEach_Build_SCIM_Body')?['name'], '\"'), 1)), setProperty(coalesce(variables('scimDirectUserCreateBody')?[first(split(items('ForEach_Build_SCIM_Body')?['name'], '['))]?[first(skip(split(items('ForEach_Build_SCIM_Body')?['name'], '\"'), 1))], json(concat('{\"type\":\"', first(skip(split(items('ForEach_Build_SCIM_Body')?['name'], '\"'), 1)), '\",\"primary\":', if(not(contains(string(coalesce(variables('scimDirectUserCreateBody')?[first(split(items('ForEach_Build_SCIM_Body')?['name'], '['))], json('{}'))), '\"primary\":true')), 'true', 'false'), '}'))), last(split(items('ForEach_Build_SCIM_Body')?['name'], '.')), outputs('Compose_SCIM_Source_Value')))), if(contains(items('ForEach_Build_SCIM_Body')?['name'], '.'), setProperty(variables('scimDirectUserCreateBody'), first(split(items('ForEach_Build_SCIM_Body')?['name'], '.')), setProperty(coalesce(variables('scimDirectUserCreateBody')?[first(split(items('ForEach_Build_SCIM_Body')?['name'], '.'))], json('{}')), last(split(items('ForEach_Build_SCIM_Body')?['name'], '.')), outputs('Compose_SCIM_Source_Value'))), setProperty(variables('scimDirectUserCreateBody'), items('ForEach_Build_SCIM_Body')?['name'], outputs('Compose_SCIM_Source_Value'))))))"
"inputs": "@if(or(or(or(or(equals(items('ForEach_Build_SCIM_Body')?['name'], 'id'), equals(toLower(coalesce(items('ForEach_Build_SCIM_Body')?['type'], 'string')), 'reference')), equals(items('ForEach_Build_SCIM_Body')?['name'], 'externalId')), or(equals(items('ForEach_Build_SCIM_Body')?['name'], 'userName'), equals(items('ForEach_Build_SCIM_Body')?['name'], 'active'))), equals(items('ForEach_Build_SCIM_Body')?['name'], 'roles')), variables('scimDirectUserCreateBody'), if(startsWith(items('ForEach_Build_SCIM_Body')?['name'], 'urn:'), union(variables('scimDirectUserCreateBody'), json(concat('{\"', substring(items('ForEach_Build_SCIM_Body')?['name'], 0, lastIndexOf(items('ForEach_Build_SCIM_Body')?['name'], ':')), '\":', string(setProperty(coalesce(variables('scimDirectUserCreateBody')?[substring(items('ForEach_Build_SCIM_Body')?['name'], 0, lastIndexOf(items('ForEach_Build_SCIM_Body')?['name'], ':'))], json('{}')), last(split(items('ForEach_Build_SCIM_Body')?['name'], ':')), outputs('Compose_SCIM_Source_Value'))), '}'))), if(contains(items('ForEach_Build_SCIM_Body')?['name'], '['), setProperty(variables('scimDirectUserCreateBody'), first(split(items('ForEach_Build_SCIM_Body')?['name'], '[')), setProperty(coalesce(variables('scimDirectUserCreateBody')?[first(split(items('ForEach_Build_SCIM_Body')?['name'], '['))], json('{}')), first(skip(split(items('ForEach_Build_SCIM_Body')?['name'], '\"'), 1)), setProperty(coalesce(variables('scimDirectUserCreateBody')?[first(split(items('ForEach_Build_SCIM_Body')?['name'], '['))]?[first(skip(split(items('ForEach_Build_SCIM_Body')?['name'], '\"'), 1))], json(concat('{\"type\":\"', first(skip(split(items('ForEach_Build_SCIM_Body')?['name'], '\"'), 1)), '\",\"primary\":', if(not(contains(string(coalesce(variables('scimDirectUserCreateBody')?[first(split(items('ForEach_Build_SCIM_Body')?['name'], '['))], json('{}'))), '\"primary\":true')), 'true', 'false'), '}'))), last(split(items('ForEach_Build_SCIM_Body')?['name'], '.')), outputs('Compose_SCIM_Source_Value')))), if(contains(items('ForEach_Build_SCIM_Body')?['name'], '.'), setProperty(variables('scimDirectUserCreateBody'), first(split(items('ForEach_Build_SCIM_Body')?['name'], '.')), setProperty(coalesce(variables('scimDirectUserCreateBody')?[first(split(items('ForEach_Build_SCIM_Body')?['name'], '.'))], json('{}')), last(split(items('ForEach_Build_SCIM_Body')?['name'], '.')), outputs('Compose_SCIM_Source_Value'))), setProperty(variables('scimDirectUserCreateBody'), items('ForEach_Build_SCIM_Body')?['name'], outputs('Compose_SCIM_Source_Value'))))))"
},
"Set_SCIM_Body_Property": {
"runAfter": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"SCIM_User_Create_Test",
"SCIM_Group_Create_Test",
"SCIM_User_Update_Test",
"SCIM_Update_Manager_Test",
"SCIM_Group_Update_Test",
"SCIM_User_Pagination_Test",
"SCIM_Group_Pagination_Test",
Expand All @@ -38,7 +39,7 @@
"description": "Version of the Logic App for tracking and deployment purposes"
},
"type": "String",
"value": "4.0"
"value": "8.0"
},
"attributeTransforms": {
"metadata": {
Expand Down Expand Up @@ -226,7 +227,7 @@
},
"scimEndpoint": {
"type": "String",
"value": "https://scimserver2.yellowsmoke-af7a3fff.eastus.azurecontainerapps.io/scim/endpoints/8f3c4c4a-7b5d-4e91-9a62-2d7f1b8e5c73"
"value": "https://scimserver2.yellowsmoke-af7a3fff.eastus.azurecontainerapps.io/scim/endpoints/f4c95b63-db4c-4f0a-91b0-78fdf88007be"
},
"scimOAuthScope": {
"metadata": {
Expand All @@ -243,61 +244,61 @@
"value": "https://scimserver2.yellowsmoke-af7a3fff.eastus.azurecontainerapps.io/scim/oauth/token"
},
"federatedEntraTenantId": {
"metadata": {
"description": "Entra tenant ID used to construct the token endpoint URL for federated identity token acquisition."
"metadata": {
"description": "Entra tenant ID used to construct the token endpoint URL for federated identity token acquisition."
},
"type": "String",
"value": "changeme-tenant-id"
},
"type": "String",
"value": "changeme-tenant-id"
},
"federatedApplicationId": {
"metadata": {
"description": "OAuth2 Application ID for the Entra app registration used in federated identity token acquisition."
"federatedApplicationId": {
"metadata": {
"description": "OAuth2 Application ID for the Entra app registration used in federated identity token acquisition."
},
"type": "String",
"value": "changeme-client-id"
},
"type": "String",
"value": "changeme-client-id"
},
"federatedApplicationClientSecret": {
"metadata": {
"description": "OAuth2 Client Secret for the Entra app registration used in federated identity token acquisition."
"federatedApplicationClientSecret": {
"metadata": {
"description": "OAuth2 Client Secret for the Entra app registration used in federated identity token acquisition."
},
"type": "String",
"value": "changeme-client-secret"
},
"type": "String",
"value": "changeme-client-secret"
},
"federatedTokenEndpoint": {
"metadata": {
"description": "ISV token endpoint URL for federated identity token exchange."
"federatedTokenEndpoint": {
"metadata": {
"description": "ISV token endpoint URL for federated identity token exchange."
},
"type": "String",
"value": "changeme-federated-endpoint"
},
"type": "String",
"value": "changeme-federated-endpoint"
},
"federatedClientId": {
"metadata": {
"description": "ISV client ID used in federated identity token exchange."
"federatedClientId": {
"metadata": {
"description": "ISV client ID used in federated identity token exchange."
},
"type": "String",
"value": "changeme-federated-app-id"
},
"type": "String",
"value": "changeme-federated-app-id"
},
"federatedBaseAddress": {
"metadata": {
"description": "ISV base address sent in the federated identity token exchange request."
"federatedBaseAddress": {
"metadata": {
"description": "ISV base address sent in the federated identity token exchange request."
},
"type": "String",
"value": "changeme-base-address"
},
"type": "String",
"value": "changeme-base-address"
},
"federatedAudience": {
"metadata": {
"description": "Audience value for federated token exchange."
"federatedAudience": {
"metadata": {
"description": "Audience value for federated token exchange."
},
"type": "String",
"value": "changeme-audience"
},
"type": "String",
"value": "changeme-audience"
},
"servicePrincipalId": {
"type": "String",
"value": "ed1a4e07-8807-4362-8b9b-c8edc2b51747"
"value": "3197053d-46d9-4a22-b843-6a9d98ec267e"
},
"testUserDomain": {
"type": "String",
"value": "proviamla01.onmicrosoft.com"
"value": "proviamtest07.onmicrosoft.com"
},
"scimTargetUserValues": {
"type": "Array",
Expand Down
Loading