2014-09-24 24 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

相關問題