2014-09-24 34 views
1

我们有一个ASP.Net MVC 5应用程序,它针对Azure AD进行身份验证。Azure AD未针对Chrome用户提供objectidentifier声明

我们想从ClaimsPrincipal获得对象标识符的,当用户浏览到一个控制器的动作,所以我们使用下面的代码:

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

这工作完全按预期在IE 11 - 身份有9个债权它包括objectidentifier。

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

任何想法,为什么发生这种情况?

回答

1

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

+0

“oid”短名称呢? – 2016-04-01 03:36:23