我已經使用「Microsoft.AspNetCore.Authentication。*」軟件包的服務爲我的asp.net核心項目配置了Azure AD身份驗證。該項目預計將作爲Web應用程序部署到Azure應用程序服務。用於Asp.Net核心的Azure AD身份驗證
雖然我啓用了Azure AD身份驗證,但我還看到有一個選項可通過Azure門戶上的應用程序設置在Web應用程序級別啓用相同的選項。
我身邊有哪些選項建議的問題。我確實看到,當我不利用通過nuGet包配置的Azure AD身份驗證時,我沒有將OpenId連接服務插入到StartUp.cs文件中。我認爲這些服務在填充像User.Identity.Name這樣的認證屬性中很關鍵。另一方面,只有啓用了門戶的身份驗證,我沒有看到這個信息填充。因此,我認爲如果我想用登錄的用戶身份進行進一步的工作,比如利用當前的聲明信息進行授權,那麼使用僅限於門戶網站的身份驗證將無法實現這一目標。
我相信「僅門戶」是OAuth。 OAuth將像第三方登錄提供程序一樣處理,因此您需要在應用程序中使用實際用戶對象來將該登錄與之關聯。 OAuth中的用戶信息來自聲明。您基本上會使用用戶聲明來創建/查找適當的用戶對象,然後簽署該用戶,就像使用Twitter,Facebook等一樣。 –
謝謝Chris!聽起來像我應該仍然能夠基於收到的聲明創建一個用戶對象。我在兩種情況下都通過提琴手檢查了答案,並且可以看到相同的結果集。這表明我通過nuGet軟件包添加的框架服務正在簡化這項任務,並負責生成用戶對象。如果我想要與啓用了門戶的身份驗證一樣,我將不得不設置必要的對象。 –
我沒有'與Azure AD一起工作,但基於我對OpenID的瞭解,不同之處在於用戶對象完全是OpenID外部的。它的功能與SSO類似,網站只是信任來自認證源的數據。 OAuth是一個不同的野獸。它更多的是認證因素。 –