Назад | Перейти на главную страницу

Есть ли простой шлюз LDAP-HTTP?

У нас есть локальный каталог LDAP, который предоставляет основную контактную информацию о нашем сообществе пользователей. Мы хотели бы интегрировать это в некоторые сторонние сервисы, которые позволяют нам реализовывать виджеты, которые запускают произвольный Javascript.

Чтобы подключить Javascript к нашему каталогу LDAP, я хотел бы настроить простой прокси-сервер LDAP-HTTP, который бы принимал запросы HTTP GET, переводил их в соответствующий запрос LDAP и отвечал информацией каталога в виде данных в кодировке JSON.

В идеальном мире примерно так:

GET /ldap?mail=bob@example.com

Получил бы мне что-то вроде этого:

{
    "cn": "Bob Person", 
    "title": "System Administrator", 
    "sn": "Person", 
    "mail": "bob@example.com", 
    "telepehoneNumber": "617-555-1212", 
    "givenName": "Bob"
}

(И это, очевидно, предполагает, что веб-приложение имеет локально настроенную информацию о том, какой базовый DN использовать, как аутентифицироваться и т. Д.).

Думаю, я мог бы написать такое ... но наверняка что-то подобное уже существует?

Принимая предложение Эндрю и превращая это в ответ ...

Похоже, что консенсус состоит в том, что ранее существовавшего решения не существовало, и я должен просто прекратить свою ленивую работу и написать его. Я так и сделал, и он доступен по адресу:

Это не особенно красиво, но это работает для моего прототипа, и я полагаю, что, возможно, кто-то еще сочтет это полезным когда-нибудь. Код в настоящее время не обрабатывает аутентификацию. Если вам повезет, он может справиться с отключением сервера. Это делает поддерживает JSONP, что мне и нужно, чтобы интегрировать его с нашей сторонней размещенной службой.

Я нашел один продукт там утверждают, что делают то же самое, но это коммерческий продукт, и я ничего не знаю о ценах.

Это старый вопрос, однако для всех, кто ищет решения в этой области, я наткнулся на Json2Ldap который предоставляет сервер LDAP с протоколом JSON-RPC.

Это дает вам возможность создавать довольно целенаправленные запросы и сохранять удобство и эффективность. Также поддерживает все, что вы ожидаете, с точки зрения аутентификации, токенов для разных конечных точек и контроля того, какой уровень злоупотреблений вы хотите открыть напрямую посторонними руками.

Думаю, я мог бы написать такое ... но наверняка что-то подобное уже существует?

Я ничего не знаю.

Единственный доступный плагин для Apache, связанный с LDAP, это, очевидно, mod_ldap. Однако он предоставит вам только часть аутентификации / авторизации. Что касается поиска в каталоге, вам нужно будет написать модуль cgi python / perl или сервлет для обработки запросов http / https для поиска в каталоге ldap. Доступно множество API. Например:

http://ldap.perl.org/
http://directory.apache.org/api/five-minutes-tutorial.html

Возможно, вам лучше написать что-нибудь для обработки вашего запроса и вернуть его в формате JSON.

Готового решения не знаю.

С другой стороны, я бы сделал это на Perl. Mojolicious и Net :: LDAP позволяют очень легко реализовать это.

Вы рассматривали возможность расширения кода на https://www.web2ldap.de/download.html

Это веб-браузер для шлюза LDAP, но его несложно адаптировать для возврата JPON.

Я сомневаюсь, что вы можете сделать это с любыми языками сценариев на стороне клиента из-за ряда проблем с безопасностью, но определенно возможно с помощью языков сценариев на стороне сервера, таких как php или .net и т. Д.

РЕДАКТИРОВАТЬ: Взгляните на это http://www.nimbusds.com/json2ldap.html или http://blog.dzhuvinov.com/?p=96