Я хотел бы интегрировать Discourse с Keycloak. Есть какие-либо советы, как это сделать? Спасибо.
С уважением,
Ндацайисенга
Я хотел бы интегрировать Discourse с Keycloak. Есть какие-либо советы, как это сделать? Спасибо.
С уважением,
Ндацайисенга
Keycloak поддерживает OpenID Connect, поэтому вы можете интегрироваться с ним, используя плагин аутентификации OpenID Connect
Несколько лет назад я написал плагин для Keycloak (провайдер идентификации) для входа в Keycloak через API аутентификации Discourse. Не уверен, что он совместим с недавними изменениями в SSO Discourse, но если вам нужен этот компонент, я, возможно, смогу опубликовать его в будущем.
@ldywicki Я был бы рад.
Здравствуйте,
Я несколько раз искал информацию на Discourse Meta, но не смог найти то, что мне нужно (существующие обсуждения либо не имеют ответов, либо кажутся устаревшими).
У нас уже работает Keycloak для управления пользователями (мы используем его, например, для аутентификации пользователей в наших собственных приложениях).
Теперь мы настроили экземпляр Discourse и хотели бы использовать Keycloak в качестве провайдера единого входа (SSO).
Правильно ли я понимаю, что для этого следует использовать DiscourseConnect? Или нам нужен (или дополнительно) плагин для OpenID или SAML?
Что необходимо настроить на стороне Keycloak? Это стандартная конфигурация или требуется установка плагина?
Заранее спасибо!
Гуннар
Привет, @gschmid, добро пожаловать на Discourse Meta ![]()
В данном случае лучше всего использовать плагин, возможно, OAuth2 Basic или Discourse SAML, в зависимости от ваших конкретных потребностей.
Ниже я привожу ссылки на них:
Если вам понадобится помощь, я с радостью окажу её ![]()
Привет, Александр,
спасибо за быстрый ответ.
Значит, мне вообще не нужен DiscourseConnect? Тогда какова его цель?
Ваш сервер аутентификации (или, возможно, API или аналогичный сервис) должен иметь процесс, совместимый с Discourse Connect (объяснено здесь).
Keycloak не имеет нативной поддержки в данном случае, поэтому более целесообразно использовать один из упомянутых выше плагинов.
Я знаком с документацией DiscourseConnect, но не смог собрать всё воедино. Просто из любопытства: какие серверы аутентификации поддерживают это из коробки?
В любом случае, я сейчас попробую запустить рекомендуемый(ые) плагин(ы). Ещё раз спасибо.
Хорошо, первая часть работы выполнена — GitHub - Code-House/keycloak-discourse: Integration between Keycloak and Discorse.. using Keycloak APIs to do so. · GitHub.
Этот репозиторий содержит код, необходимый для того, чтобы Keycloak мог получать информацию об идентификации из Discourse, используя протокол «Discourse Connect».
Keycloak — это универсальный провайдер идентификации: он предоставляет конечные точки, совместимые с OpenID Connect, для аутентификации внешних приложений. Вы можете связать Keycloak с Discourse с помощью плагина discourse-openid-connect.
Discourse Connect работает немного иначе. Насколько я понимаю, он позволяет полностью делегировать управление пользователями Keycloak, что может быть не тем, что вам нужно на начальном этапе.
Обратите внимание: я создал интеграцию, позволяющую Keycloak работать с Discourse в качестве провайдера идентификации. Судя по всему, возможно реализовать конечную точку, совместимую с Discourse Connect, для Keycloak, но это уже другая история. ![]()
Discourse Connect немного отличается. Насколько я понимаю, он позволяет полностью делегировать управление пользователями Keycloak, что может быть не совсем тем, что вам нужно на начальном этапе.
На самом деле, это именно то, что я хотел бы иметь, но поскольку, похоже, нет простого решения для этого, я пытаю удачу с плагином OIDC.
Я смогу предоставить такую интеграцию для Keycloak. Для этого потребуется расширение другого API внутри Keycloak (протокол входа). Напомните мне в июле, чтобы я это сделал. ![]()
Привет, @ldywicki! Я скомпилировал последнюю версию модуля провайдера идентификации Keycloak, но, похоже, она несовместима ни с последней версией Discourse, ни с последней версией Keycloak. Не могли бы вы обновить его?
Спасибо за вашу работу!
Привет, Данир,
Я смогу обновить это дополнение, но мне нужно немного времени. Ты застал меня незадолго до переезда, поэтому мне потребуется время, чтобы проверить, что происходит с более свежими версиями Keycloak.
@ldywicki
Чем ваш Keycloak Spinup отличается от обычного Keycloak?
Я установил оригинальный Keycloak через Docker.
Без каких-либо сообщений об ошибках в консоли пользователь попадает на экран входа с бесконечно вращающимся индикатором загрузки после аутентификации через Keycloak.
Я не могу найти причину этого. Пожалуйста, помогите.