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