Azure AD中的来宾用户的图形API请求

时间:2017-02-07 16:48:19

标签: azure azure-ad-graph-api

我想知道如何在Azure AD中为访客用户进行图形API调用。我能够使用给定here的API示例为内部用户实现它,但是相同的调用对guest用户不起作用。请求的方式有什么不同吗?

2 个答案:

答案 0 :(得分:3)

租户中的访客帐户将拥有与其所在房屋中的UPN不同的用户主体名称。您应该能够通过查询租户中的所有用户以及查找具有“已修改”用户主体名称的外部用户(通常使用“EXT”)来查看此证据。

您可以在我们的演示租户here

中看到这方面的直接示例
"userPrincipalName": "djayachandran.cw_mmm.com#EXT#@GraphDir1.onmicrosoft.com",

您似乎需要使用未更改旧UPN的其他属性来查询这些用户,例如'mail'属性。最终,您希望找到您感兴趣的用户的ObjectId,并将其用作查找用户信息的密钥。您应该能够从登录用户的令牌中获取对象ID。

如果这有帮助,请告诉我! 谢谢, Shawn Tabrizi

答案 1 :(得分:0)

@Shawn Tabrizi's answer above helped me achieve what I needed (get Azure AD group info for logged in user).

To get the user AD ObjectID from the identity claims, I used this:

using System.Linq;
using System.Security.Claims;

namespace HealthcareEfficiencyService_webApp.Helpers
{
    public class ClaimsHelper
    {
        private readonly static string objectIdClaimsType = "http://schemas.microsoft.com/identity/claims/objectidentifier";

        public static string getAdObjectId(ClaimsIdentity claimsIdentity)
        {
            return claimsIdentity.Claims.FirstOrDefault(x => x.Type == objectIdClaimsType).Value;
        }
    }
}