Управление членством в группе через аутентификацию

Обратите внимание, что я подготовил обновлённый черновик PR с новым подходом (включая изменения, запрошенные @david в моей предыдущей попытке). Как указано в комментариях к PR, я планирую завершить его на этой неделе.

Чтобы я не радовался напрасно — здесь написано «google»… будет ли это работать и с non-google oauth2 sso?

Это универсальная система, но первым поддерживаемым сценарием использования будут группы в Google Workspace. После внедрения системы добавление поддержки дополнительных провайдеров не составит большого труда.

Обратите внимание, что этот PR был переведён из черновика в опубликованный в течение недели (т.е. он снова готов к проверке).

Я только что объединил этот PR — огромное спасибо за всю вашу работу здесь, @angus! С нетерпением жду, как это будет использоваться и развиваться в будущем! :confetti_ball:

Пока я пометил настройку сайта как «Экспериментальная», чтобы у нас было время протестировать её и убедиться, что всё работает гладко. Как только мы будем уверены в результате и добавим поддержку ещё нескольких провайдеров аутентификации, я обязательно создам тему #feature:announcements для этой функции.

Отлично! :slight_smile:

Спасибо тебе, Дэвид. Без твоей поддержки этого бы не случилось. С радостью помогу с добавлением дополнительных провайдеров.

ДА! Спасибо всем. Мы планируем широко использовать это в Fedora, как только оно заработает с OAuth2.

Я тоже с нетерпением жду, когда это станет доступно для входа через OAuth2/OpenID, не связанный с Google. Есть ли какие-либо новости о том, появится ли эта опция и когда?

У нас нет конкретного графика, но мы, безусловно, приветствуем #pr, если кто-то захочет отправить патч.

Мы тоже с нетерпением этого ждем! Наш вариант использования — получение членства в группах из Keycloak при аутентификации.

В настоящее время я самостоятельно размещаю Discourse и использую Authentik в качестве провайдера идентификации для аутентификации. Моя цель — автоматически синхронизировать группы пользователей из Authentik с определёнными группами в Discourse при входе в систему.

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

Привет!

Мы перенесли нашу систему аутентификации с Atlassian Crowd (которая больше не поддерживается в Discourse) на OpenID Connect (через Keycloak) и хотели бы использовать код сопоставления групп Crowd, который мы внесли несколько лет назад в плагин discourse-openid-connect.

У нас есть рабочая версия кода, позволяющая настроить сопоставление групп OpenID Connect с группами Discourse, и мы создали для неё pull request: FEATURE: Openid connect group maps by benzoid · Pull Request #34763 · discourse/discourse · GitHub.

Надеемся, что это предложение будет рассмотрено для слияния. Мы также готовы дополнить документацию или написать тесты (если вы сможете направить меня к руководству по тестированию — я пока не являюсь опытным программистом на Ruby!).

Бен

Для справки: синхронизация групп теперь доступна для OIDC. Дополнительную информацию см. в теме плагина и в последнем журнале изменений.