LDAP 是否要求在服务器端显示密码

Does LDAP require that the password be revealed on the server side

我正在组织中将应用程序与 LDAP 集成。

我正在实施 HTTPS 以将密码从前端发送到我的应用程序服务器,然后使用 TLS 将密码从我的应用程序服务器转发到 LDAP 服务器。这样可以保证密码在传输过程中的安全。

然而,在将密码转发到 LDAP 服务器之前,我的应用程序服务器仍然能够以明文形式看到密码。

如果我在前端对其进行哈希处理,那么密码将与 LDAP 服务器上的密码不匹配。

为了将我的应用程序与 LDAP 集成,我需要接受这种风险吗?还是我以某种方式错误地实施了这个?

我的应用程序服务器是一个 python flask 应用程序,我正在实施 LDAP3。

提前致谢。

针对问题:

Is this a risk that I need to accept in order to integrate my application with LDAP? Yes.

使用大多数 LDAP 服务器实现支持的 SASL 机制可以进行 SASL 身份验证,但是,这需要 LDAP 客户端 (DUA) 能够提供包含 SASL 机制名称和一个编码值一组可选的编码 SASL 凭据。

也许您可以将 SASL 与 ServerLess Architecture 一起使用?

无论采用何种技术,任何基于密码的身份验证都需要用户提供凭据,在某些时候需要收集这些凭据,因此存在这种风险。

使用 OpenID Connect 可以限制对 OpenID 提供商的授权服务器的曝光;但风险依然存在

WebAuthn 消除密码,可能是一个选项。

-吉姆