2017-05-03 147 views
0

我配置了一個.NET MVC應用程序以針對單獨運行的Identity Server(IdentityServer3)進行身份驗證。我已配置OpenIdConnectAuthenticationNotifications.SecurityTokenValidate()將用戶的聲明放入AuthenticationTicket中。一切似乎都按預期工作。第一次訪問MVC應用程序中的頁面時,我得到登錄屏幕,登錄後我被重定向到請求的頁面。HttpContext.User.Identities具有相同的身份兩次

但是,當我看HttpContext.User中有2名身份(在我CheckAccessAsync的倍率()使用斷點)。仔細觀察,我可以看到兩個身份是相同的,並且訪問Claims屬性會返回所有的聲明兩次。

任何想法,我可能做錯了什麼?

回答

0

我相信我已經弄清楚這個問題是什麼。我配置了身份驗證服務器和MVC應用程序以使用相同的客戶端,這實際上導致了其他問題。

當我改變了身份驗證服務器使用其自己的客戶端,在MVC應用程序中的HttpContext.User中仍然有2個身份,但索賠收集不重複。我猜想,聲明集合只包含訪問該集合的客戶端的聲明。但我完全相信,因爲兩個客戶都會返回相同的索賠集合。

相關問題