Работает ли `sso overrides groups` с OAuth2?

Я хотел бы использовать эту функцию. Мы находимся на тарифном плане Business с хостингом, поэтому SAML для нас недоступен, и мы используем OAuth2 / OpenID Connect. Я считаю, что всё настроено правильно (sso overrides groups включен, а oauth2 scope установлен в openid profile email https://id.fedoraproject.org/scope/groups).

Я немного запутался в том, как Discourse использует термин SSO и где появляются те или иные опции. Однако мы используем sso overrides username, и это работает. Должно ли это также работать в данном случае?

Настройка sso overrides groups не работает с OAuth2. Она работает только с реализацией SSO в Discourse: Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso). Мы находимся в процессе переименования Discourse SSO в DiscourseConnect, чтобы избежать путаницы, связанной с этой проблемой.

Ой, это досадно. Переименование, безусловно, поможет снизить путаницу, но не решает моих задач. Это ограничение намеренное или функция просто ещё не реализована?

Данный параметр использует отдельный путь кода, отличный от того, который применяется при входах через OAuth2. Синхронизация групп через OAuth2 ещё не реализована. Возможность синхронизации групп Discourse с группами из внешнего сайта имеет множество сценариев использования в Discourse, поэтому, надеемся, это будет реализовано в будущем. На данный момент у вас есть только один вариант — управлять членством в группах через API.

Итак, у нас есть некоторые очень ранние потенциальные патчи для реализации groups с OAuth2:

:warning: Однако так как мы используем хостинг-план, у нас нет быстрого тестового окружения для их проверки, поэтому они полностью теоретические. Постараемся настроить такое окружение в ближайшее время, но это буквально не является чьей-то основной работой, поэтому, если кто-то сможет помочь с ревью и тестированием этих патчей, это было бы потрясающе.

Если вы отправите их в виде pull-запросов в наш репозиторий, мы их рассмотрим. Гарантировать слияние мы не можем, но хотя бы ревью состоится.

Отлично, спасибо. Постараемся сначала проверить это либо на локальном тесте, либо с помощью какого-нибудь добровольца, чтобы убедиться, что всё работает, и убрать :warning:.

У меня не было времени заняться этим (или найти кого-то, кто мог бы…). Если кто-то из читающих это захочет помочь, это было бы здорово.

Как только будет завершена работа над Managing group membership via authentication - #14 by mattdm, мы, безусловно, займемся интеграцией этого функционала с плагином OAuth2 :slight_smile:

Я развернул изменения, указанные выше, и они, похоже, не сломали Discourse. Есть ли у вас документация о том, как запустить тесты, чтобы я мог проверить, что изменения ничего не сломали?

Круто! Если отложить поломки в сторону, они работают?

Короче говоря, я не знаю, пока не попробую использовать тестовую систему в Fedora Accounts System (FAS) — или другую систему OIDC. Но мне также было бы интересно узнать, как использовать дымовое тестирование из Discourse, которое, похоже, работает в безголовом браузере Chrome, однако я не могу найти по этому поводу никакой информации.

Не знает ли кто-нибудь из Discourse, где можно найти информацию о том, как запустить дымовое тестирование?

Мог бы кто-нибудь из Fedora предоставить тестовую систему FAS для проверки?

Хм. Система учётных записей Fedora — это… довольно масштабный проект. (Но (по состоянию на крупное обновление в этом году) она работает на базе FreeIPA, так что теоретически любой мог бы создать нечто подобное.)

Может быть, мы могли бы подключить ваш тестовый Discourse к реальной системе учётных записей Fedora?

Привет, друзья! Я могу добавить вас в наш тестовый экземпляр OAuth2. Это поможет?