Fetch Applications detected for identities in Transform

Hi All,

Is there any way to fetch Applications that are detected or assigned to the identity?
I tried to use $identity.getAssignedRoles() and $identity.getBundles(). But they return business roles and access profiles respectively.

We need to check if user has access to Application(which is usually configured to reset password in target system for example)

Any help would be appreciated.

Regards,
Bhushan Dhodi

@bhushan008 You can explore workflows to achieve your use case if workflows are enabled to your tenant.

you can use Get Identities action to get all the apps details of the users see below e.g. JSON response.

"apps":[
                {
                    "id":"22751",
                    "name":"ADP Workforce Now",
                    "source":{
                        "id":"2c9180855c45b230015c46e2f6a8026a",
                        "name":"Corporate Active Directory"
                    },
                    "account":{
                        "id":"2c9180865c45efa4015c470be0de1606",
                        "accountId":"CN=Bob Wilson,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com"
                    }
                }
            ]

You can see more details here

Once you get the app details you can check if the user is having apps that you are looking for and send an email or try some operation you want to do.

Let us know what you think.

Regards,
Shekhar Das

Hi @bhushan008,

Try the below transform and see if it works :

{
    "name": "Check_App",
    "type": "static",
    "attributes": {
        "value": "#set($valueToFind = \"Test_App\")#set($valueExists = false)#foreach($link in $identity.getLinks())#if($link.getApplication().getName().contains($valueToFind))#set($valueExists = true)#end#end$valueExists"
    },
    "internal": false
}

Hi @jesvin90 , Thank you for quick response. I just tried your solution. Somehow it returns false even if the Application is assigned to the user.

Maybe try single quotes:

#set($valueToFind = 'Test_App')

Hi @bhushan008,

Are you passing your source name here - ($valueToFind = \"Test_App\") ? The code works in my tenant when passing the source name.

Also, try breaking down the code to see if you get the value for $identity.getLinks() by passing the below in the value field :

"value": "$identity.getLinks()"

I believe identity.getLinks() returns ISC sources not applications, which are different. In IIQ identity.getLinks() would return IIQ applications which are the same as ISC sources

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.