In case anyone else has this requirement. I found a couple ways to achieve the objective.
- Since apps are always assigned to groups in our use case. Sharepoint Quicklinks webpart with audience targeting provides a way to produce the app list with links to the apps the user is assigned. Only problem is that it is double configuration (both AAD app definition and Sharepoint quicklink definition) and is brittle if the AAD app definition changes the app description or homepage/login URL.
- Create a custom web app with MSgraph to call MSGraph /users/<uid>/appRoleAssignments. Iterate through the resulting list of apps and call MSGraph /applications/<appid> to get the homepage and login URLs to create the link. Iterating with /applications API request can be slow so I cached the results for 24 hours. I then use the Embed webpart to place the links on the Sharepoint home page. It would be awesome if /users/appRoleAssignments could return the app homepage/login URL in a single request or document the relationship between appRole and application to enable $expand odata to get the application object for the appRoleAssignement.
A couple ways that don't work:
- Could not get https://myapplications.microsoft.com to work with an Embed webpart.
- Could not find a webpart that provided the MyApps functionality