2016-07-20 45 views
2

我想用LDAP對Active Directory進行身份驗證。 OpenIddict有可能嗎?是否可以一起使用OpenIddict和LDAP?

目前,我有前端(Angularjs)+後端(Web.API與ASP.NET核心和OpenIddict)完美。部分用戶使用個人用戶帳戶,他們將繼續。另一部分用戶應使用AD帳戶。它位於內部網絡內部,並希望爲此使用現有的Active Directory。

請提出任何解決方案。

謝謝。

回答

3

請提出任何解決方案。

OpenIddict從不對登錄/認證部分負責,因此您可以自由實現它以使用LDAP,同時使用交互式流(如代碼流)和非交互式流(如密碼流)。


如果你的AD服務器可以運行Active Directory Federation Services,我建議你使用它,因爲它達到你想要的東西的最佳方式。

根據您使用的版本,您可以很容易地與任何ASP.NET Core應用程序集成(2016版本支持OpenID Connect,而前一版本支持OAuth2:兩者都可以與OAuth2一起使用/ OIDC中間件由ASP.NET團隊開發)。

如果您不能使用ADFS,另一個選項是使用集成Windows身份驗證。它目前僅在將IIS應用程序託管在IIS後面或使用WebListener時受支持。

如果這些選項都不適用於您的方案,則可以選擇「低級別LDAP驗證」路線。儘管.NET Core沒有官方支持,但您可以使用社區開發的一些庫:https://github.com/dotnet/corefx/issues/2089#issuecomment-231994908

+0

我喜歡你的詳細解答。非常感謝你! – Serg

+0

我沒有得到一件事:關於OpenIddict和登錄/認證部分。當我登錄發送密碼和用戶名稱來解決「connect/token」問題時,OpenIddict返回令牌只是爲了正確的值。之後,我使用此令牌訪問資源。認證期間沒有UserManager,OpenIddict提供認證。這是對的還是我誤解了一些東西? – Serg

+0

'認證過程中沒有UserManager,OpenIddict提供認證。是正確的還是我誤解了一些東西?''這對應於資源所有者密碼憑據授權,這是OpenIddict處理驗證的唯一情況。 – Pinpoint

相關問題