使用相同的用户访问权限从Azure AD获取应用程序列表

时间:2018-11-20 09:05:57

标签: azure azure-active-directory

我想创建一个仪表板。 Azure AD用于验证用户身份,而我已经实现了该身份。现在,我的任务是根据访问权限在仪表板中显示图标。例如,对于我组织中的其他应用程序,还有A,B和C。用户有权访问应用程序A和B,但不能访问C。因此,登录后,用户可以将应用程序A和B视为图标,而不能看到C。 A或B中的,将允许用户访问而无需再次登录。任何指针都很棒。

1 个答案:

答案 0 :(得分:1)

通常来说,您可能会发现使用Azure AD(https://myapps.microsoft.com)中现有的访问面板会更简单,该访问面板已经显示了用户有权访问的应用程序。

也就是说,如果您有充分的理由自己重建它,则可以使用Microsoft Graph API或Azure AD Graph API列出用户的应用程序角色分配(已将用户分配到的应用程序)。例如,使用Microsoft Graph,以下请求将列出已将登录用户分配给的应用程序:

GET https://graph.microsoft.com/beta/me/appRoleAssignments

在应用角色分配的结果列表中,resourceId属性将标识ServicePrincipal对象。然后,您可以检索ServicePrincipal对象并检索(例如)homepage属性(用于构建链接):

GET https://graph.microsoft.com/beta/servicePrincipals/{id}

(注意:使用Azure AD Graph的等效请求如下:)

  • GET https://graph.windows.net/myorganization/me/appRoleAssignments
  • https://graph.windows.net/myorganization/servicePrincipals/{id}