是否可以一起使用 OpenIddict 和 LDAP?

Is it possible to use OpenIddict and LDAP together?

我想使用 LDAP 针对 Active Directory 对用户进行身份验证。 OpenIddict 有可能吗?

目前,我有前端 (Angularjs) + 后端(Web.API with ASP.NET Core 和 OpenIddict),效果很好。部分用户使用个人用户帐户,他们将继续使用。另一部分用户应该使用 AD 帐户。它在内部网络中,并希望为此使用现有的 Active Directory。

请提出任何解决方案。

谢谢。

Please suggest any solutions for that.

OpenIddict 从不负责 login/authentication 部分,因此您可以自由实施它以将 LDAP 与代码流等交互流和密码流等非交互流一起使用。


如果您的 AD 服务器可以 运行 Active Directory Federation Services,我建议您使用它,因为这是实现您想要的效果的最佳方式。

根据您使用的版本,您将能够非常轻松地与任何 ASP.NET 核心应用程序集成(2016 版本支持 OpenID Connect,而之前的版本支持 OAuth2:两者都可以使用使用由 ASP.NET 团队开发的 OAuth2/OIDC 中间件)。

如果您不能使用 ADFS,另一种选择是使用集成 Windows 身份验证。目前只有在 IIS 后面托管您的应用程序或使用 WebListener 时才支持它。

如果这些选项中的 none 适合您的情况,您可以选择 "low-level LDAP validation" 路线。尽管 .NET Core 未正式支持它,但您可以使用社区开发的一些库:https://github.com/dotnet/corefx/issues/2089#issuecomment-231994908.