Discourse-SAML: выбор решения

Я прочитал эту статью:

Это хорошо, но это облачный сервис.
Можете ли вы порекомендовать аналогичный сервис, но с возможностью самостоятельного размещения? Возможно, есть программное обеспечение, протестированное с Discourse?

Какой это облачный сервис?

К чему вы пытаетесь аутентифицироваться?

У нас есть несколько веб-сервисов, а также несколько экземпляров Discourse для разных аудиторий. Для каждого сервиса и связанного с ним Discourse сейчас установлен Drupal 7, который обеспечивает единый вход (SSO) для сервиса и Discourse. Такой паттерн повторяется несколько раз. Общее количество пользователей превышает 10 000.

Я хочу создать единую базу пользователей для всех сервисов и экземпляров Discourse. Реализовать SSO, обеспечивающее прозрачную аутентификацию повсюду. При этом избавиться от Drupal.

Система SSO не должна быть облачной, а должна размещаться на наших серверах. Auth0, OneLogin — это облачные системы.

Поэтому прошу совета: что мне выбрать.

Самое простое решение — использовать один экземпляр Drupal для всех сайтов Discourse, так как вы уже знаете, как это сделать. Если вы хотите отказаться от Drupal Altitude, то один из сайтов Discourse может выступать в качестве сервера SSO для всех остальных сайтов.

Нет, вариант использования Discourse в качестве провайдера SSO не подходит. Drupal точно нужно убрать. Есть ли работающие примеры интеграции плагина SAML для Discourse с открытым IdM/IAM?

Есть ли причина, по которой вы пытаетесь использовать SAML? У нас есть плагины для OpenID Connect и OAuth2, которые, как правило, гораздо проще настроить.

У нас нет официально протестированных IDP. Однако первый результат в Google по запросу «open source idp» — это Keycloak. Если поискать здесь, на Meta, видно, что другим пользователям удалось настроить его с нашим плагином openid-connect (например, вот здесь). Может быть, попробовать поэкспериментировать с этим как отправной точкой?

С плагином OAuth2 Basic Plugin есть одна БОЛЬШАЯ проблема: если пользователь новый для Discourse, то после аутентификации появляется окно с данными нового пользователя.
Вы, @david, в другой теме ответили мне, что когда-нибудь вы будете автоматически создавать пользователя без показа этого окна. Но пока это ещё не реализовано.

Поэтому я испытываю трудности с SAML. Мне нужно решение в ближайшее время…

Похоже, что Keycloak также поддерживает SAML, поэтому вы всё ещё можете попробовать этот вариант.

И могу ли я заказать у вас платную конфигурацию плагина и Keycloak? )))
Я пробовал, но не смог настроить SAML и Keycloak.

На discourse.org мы предоставляем индивидуальную поддержку нашим клиентам, но не для сайтов с самостоятельным размещением. Вы можете попробовать разместить сообщение в канале Marketplace.

@david Вы говорили, что при использовании плагина SAML окно создания нового пользователя не отображается, если пользователя нет в базе данных Discourse. Однако оно появляется:

Вам нужно установить значение DISCOURSE_SAML_AUTO_CREATE_ACCOUNT в 1 в вашем файле app.yml

Работает!!! Спасибо @david!

Но… Почему этот вариант не упомянут в документации? )))