0

我在startup.auth.cs文件中實現UseOpenIdConnectAuthentication使AAD認證,我檢索在下面的代碼成功登錄後,用戶身份:檢索用戶聲稱

private ClaimsIdentity GetIdentity(IPrincipal user) 
{ 
    if (user == null) 
    { 
     return null; 
    } 

    if (user is ClaimsPrincipal) 
    { 
     return ((ClaimsIdentity)(user as ClaimsPrincipal).Identity); 
    } 

    return ((ClaimsIdentity)(user.Identity)); 
} 

當我發表我的網站上Azure並在Azure門戶上啓用應用程序身份驗證(而不是使用UseOpenIdConnectAuthentication代碼),身份驗證似乎正常工作。但是現在,當我在本地運行我的應用程序時,我刪除了授權碼,我無法檢索任何用戶聲明。是否有任何解決方法能夠在本地運行我的應用程序並檢索這些索賠?

回答

0

是否有任何解決方法可以在本地運行我的應用程序以及檢索這些索賠?

Easy Auth(Azure功能的認證/授權)和OWIN組件均爲您的Web應用程序提供身份驗證。如果你不使用它們,那麼你需要補充Web應用程序的身份驗證。否則,沒有您可以檢索的聲明。

有關Easy Auth功能的更多詳細信息,可以參考cgillum的blogs

如果您的意思是您不想使用Azure AD構建聲明應用程序,則可以參考文檔How To: Build Claims-Aware ASP.NET Application Using Forms-Based Authentication