Azure AD未向Chrome用户提供objectidentifier声明

时间:2014-09-24 15:33:07

标签: asp.net-mvc azure active-directory claims

我们有一个ASP.Net MVC 5应用程序,它针对Azure AD进行身份验证。

当用户浏览控制器操作时,我们希望从ClaimsPrincipal获取objectidentifier,因此我们使用以下代码:

var objectIdentifier = Guid.Parse(new ClaimsPrincipal(identity)
   .FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier")
   .Value);

这完全符合IE 11中的预期 - 身份有9个声明,包括objectidentifier。

当我们运行完全相同的代码但使用Chrome登录时,该身份只有7个声明并且不包含objectidentifier。

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

很抱歉回答我自己的问题,但事实证明我们使用2个不同的用户身份登录的两个浏览器,其中一个是AAD中的用户,另一个是添加到AAD的LiveId。后者具有较少的与之相关的属性,包括没有objectidentifier。