是否存在简单的 LDAP 到 HTTP 网关?

是否存在简单的 LDAP 到 HTTP 网关?

我们有一个本地 LDAP 目录,提供有关我们用户社区的基本联系信息。我们希望将其集成到一些第三方托管服务中,以便我们实现运行任意 Javascript 的小部件。

为了将 Javascript 连接到我们的 LDAP 目录,我想设置一个简单的 LDAP 到 HTTP 代理,它可以接受 HTTP GET 请求,将它们转换为适当的 LDAP 查询,并以 JSON 编码数据的形式响应目录信息。

在理想世界中,事情是这样的:

GET /[email protected]

会给我这样的结果:

{
    "cn": "Bob Person", 
    "title": "System Administrator", 
    "sn": "Person", 
    "mail": "[email protected]", 
    "telepehoneNumber": "617-555-1212", 
    "givenName": "Bob"
}

(这显然假设 Web 应用程序已在本地配置了有关使用什么基本 DN、如何进行身份验证等信息)。

我想我可以写一个...但是这样的东西肯定已经存在了?

答案1

接受安德鲁的建议并将其转化为答案......

大家似乎一致认为,目前还没有现成的解决方案,我应该不再懒惰,写一个。所以我就这么做了,可以从以下网址获取:

它不是特别漂亮,但它适用于我的原型,我想也许有一天其他人会发现它很有用。代码目前不处理身份验证。如果你幸运的话,它可能会处理服务器断开连接。它支持 JSONP,这是我将其与我们的第三方托管服务集成所需要的。

我确实找到了一个产品有一款产品声称可以做同样的事情,但它是一种商业产品,而且我不知道它的定价。

答案2

这是一个老问题,然而对于在这个领域寻找解决方案的人来说,我偶然发现了Json2Ldap它使用 JSON-RPC 协议公开 LDAP 服务器。

这使您能够构建一些非常有针对性的查询,并使事情保持良好和高效。还支持您期望的所有内容,包括身份验证、不同端点的令牌以及控制您希望直接向外部开放的滥用级别。

答案3

我不知道有什么现成的解决方案。

另一方面,我会用 Perl 来实现。Mojolicious 和 Net::LDAP 使实现这一点变得非常容易。

答案4

您是否考虑过扩展代码https://www.web2ldap.de/download.html

它是一个 Web 浏览器到 LDAP 网关,但适应返回 JPON 应该不难。

相关内容