我们有一个本地 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 应该不难。