Как работает Discourse ID

Что такое Discourse ID?

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

Всякий раз, когда вы видите кнопку «Войти через Discourse ID» на сайте Discourse, вы в нескольких секундах от значимых и важных разговоров :discourse:

Зачем использовать Discourse ID?

Создать один раз — использовать везде

  • Зарегистрируйтесь в Discourse ID один раз и используйте учётную запись во всех участвующих сообществах Discourse.

  • Больше не нужно запоминать множество имён пользователей и паролей для разных форумов.

  • Используйте Google, Apple, Facebook, GitHub или свой адрес электронной почты для регистрации в Discourse ID (вскоре появятся дополнительные варианты).

Часто задаваемые вопросы

  • Какие платформы для входа через социальные сети поддерживаются из коробки? Без какой-либо настройки Discourse ID включает в себя вход через Google, Facebook, Apple и GitHub (вскоре появятся дополнительные варианты).

  • Это то же самое, что единый вход (SSO)? Да, Discourse ID — это SSO, но специально разработанный для сайтов Discourse.

  • Владельцы сообществ видят всю мою активность? Нет, ваша активность на одном форуме не видна владельцам других форумов.

  • Почему Discourse ID не работает на некоторых сайтах? Discourse ID — это новая функция, и некоторые сообщества ещё не подключились к ней. Попросите администратора вашего сообщества включить её (или проверьте позже).

  • Готовы включить Discourse ID на своём сообществе? Если вы хотите предложить своим участникам бесшовный процесс входа, перейдите в раздел Администрирование → Вход и аутентификация → Discourse ID (/admin/config/login-and-authentication/discourse-id) и включите его. ID доступен везде, включая сайты, размещённые нами, и саморазмещённые сайты. Если у вас возникают проблемы, убедитесь, что включена настройка force_https.

  • Могу ли я использовать Discourse ID в приложении DiscourseHub? Вы можете войти на отдельные сайты, на которых включён Discourse ID, через приложение DiscourseHub (как и при использовании любого другого метода входа). Мы также работаем над улучшенной интеграцией между Discourse ID и DiscourseHub. Следите за новостями!

Устранение неполадок

Чтобы сайт Discourse мог использовать Discourse ID, он должен работать по протоколу https и быть доступен в интернете (то есть ID нельзя включить для интранет-сайтов). Для дальнейшего устранения неполадок проверьте тег discourse-id или создайте новую тему в соответствующей категории, например, bug / Support / ux, с этим тегом.

Перенастройка ID после смены доменных имён

После смены доменного имени вашего сайта, чтобы инициировать новую регистрацию, необходимо:

  1. Очистить client id и secret для настроек Discourse ID. Это скрытые настройки сайта, поэтому вам нужно использовать консоль Rails:

    ./launcher enter app
    rails c
    SiteSetting.discourse_id_client_id = ""
    SiteSetting.discourse_id_client_secret = ""
    
  2. Включить/выключить настройку «Включить Discourse ID» в панели администратора.

26 лайков

Как это захватывающе!!!

Ох. Как разочаровывающе. :crying_cat:

Надеюсь, это появится скоро! Было бы очень удобно, если бы это можно было легко настроить (или, возможно, просто через API-ключ или что-то подобное?).

Мне бы очень хотелось иметь возможность включать это по умолчанию для клиентов с собственным хостингом (в основном, чтобы я мог легко войти в систему!).

РЕДАКТИРОВАНИЕ: Извините, что ною, но я очень взволнован!

14 лайков

Это будет доступно очень скоро для тех, кто использует самохостинг, да. Спасибо за ваш интерес, мы ценим это!

14 лайков

Я уже так этому рад! Создал свою учётную запись. Вы лучшие!

8 лайков

Отличная работа! :grinning_face:

Мне очень нравится эта идея. Объединение процесса входа в систему — это очень ценно! Это делает Discourse проще в использовании и, возможно, побудит людей «зарегистрироваться» в большем количестве сообществ. :partying_face:

7 лайков

Влияет ли это на процесс регистрации или я всё ещё могу вручную добавлять новых участников?

Редакция: Я только что понял, что это зависит от IDP, предоставленного Discourse, а не от федеративного доверия ко всем другим экземплярам Discourse.

Теперь это включено :slight_smile: Discourse ID теперь доступен. Попробуйте сегодня! - Объявления - Discourse Meta

2 лайка

Доброе утро!

У меня есть ещё несколько вопросов, касающихся Discourse ID:

  • Я предполагаю, что существует центральный сервер, управляющий учётными данными, к которому обращается каждый сайт для проверки входа через Discourse ID? Следовательно, хотя отдельные сайты не знают о посещении других ресурсов, я полагаю, что эта информация доступна централизованно на сервере авторизации? Планируете ли вы использовать эту информацию, даже в анонимизированном виде?
  • Лично меня вполне устраивает вход по адресу электронной почты и паролю (в некоторых случаях с двухфакторной аутентификацией), и я не спешу внедрять Discourse ID для своих учётных записей. Кроме того, у меня нет необходимости читать веб-сайты на телефоне, поэтому я не хочу устанавливать приложение Discourse. Надеюсь, администраторы сайтов сохранят возможность входа по имени пользователя/электронной почте и паролю в будущем. Для справки: я также не использую никакие другие предлагаемые варианты единого входа (SSO)! Мои пароли управляются в моей собственной инфраструктуре, каждый пароль используется только в одном месте и хранится в зашифрованном виде, когда не используется.

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

3 лайка

Да, сам Discourse ID является централизованным сервисом. Это похоже на другие способы входа через социальные сети. В ближайшем будущем мы планируем добавить больше функций для пользователей в рамках ID, но пока нет деталей о том, какими именно они будут.

Да, все остальные способы входа останутся доступными, включая локальные учётные записи.

5 лайков

Хотя я считаю это хорошим решением, мне не нужно поддерживать все социальные сети, когда я принимаю вход через Discourse. Я ещё не включил эту функцию, так как не уверен, в какие проблемы с соблюдением законодательства (ЕС) это может привести.

1 лайк

Ничего. Вы должны сообщить те же сведения, что и для других вариантов SSO. По сути, вы перекладываете ответственность на CDCK и добавляете ссылку: Privacy policy | Discourse - Civilized Discussion

Уважаемые CDCK, пожалуйста, как можно скорее обновите политику конфиденциальности, включив в неё ID.

2 лайка

Да, но поскольку я не использую другие варианты SSO по той же причине — когда я прошу пользователей использовать их, я могу нести ответственность, — я пока не могу их применять.

И всё же вы не можете. Вы как администратор не можете хранить ненужные личные данные и обязаны сообщать, что именно вы храните, зачем и как долго. И так далее. При использовании других сервисов вы должны уведомлять о том, что используете их, и указывать ссылку на их политику конфиденциальности. Всё остальное — их ответственность. Это точно так же, как в случае с Google Analytics, AdSense, Amazon S3, доставкой электронной почты и т. д.

Так что, по сути, всё, что вам нужно сделать, — это сообщить. Выбор использовать или нет остаётся за пользователем. Если Discourse ID или любой другой SSO являются единственными вариантами, то требования должны быть строже, но в данном случае это не так.

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

Я знаю, что считается разумным, но также знаю, что в ЕС компании могут нести ответственность за ссылки на профили в Facebook, поэтому я лучше перестрахуюсь.

Можем ли мы автоматически регистрировать пользователей в Discourse с ID из других систем?

Вы хотите заставить пользователей зарегистрироваться в id.discourse.com без запроса :flushed_face:

Насколько я знаю, это невозможно, так как вы не можете автоматически подключить их к использованию Google SSO.

Не могли бы вы подробнее объяснить, что вы имеете в виду под «автоматической регистрацией пользователей в Discourse ID из других систем»?

Возможно использовать ваш сайт Discourse в качестве провайдера идентификации, а затем разрешить пользователям входить в систему с помощью Discourse ID. Именно это вы имеете в виду?

3 лайка

Несмотря на то, что заголовок темы — «Как работает Discourse ID», в ней, похоже, нет никаких деталей о том, как это на самом деле работает: например, какой протокол используется между сайтом Discourse и IdP, какие идентификаторы передаются, в какой степени можно коррелировать активность между сайтами и так далее. Мне необходимо знать подобные детали, чтобы давать точные рекомендации администраторам сайтов, которых я консультирую, относительно того, следует ли включать эту опцию на их сайтах.

2 лайка

Согласен, но лишь небольшое уточнение: он использует поток OAuth2 от Omniauth (как, кажется, и все остальные) и имеет собственный механизм регистрации для получения секретного ключа клиента в этом коде: discourse/app/services/discourse_id/register.rb at 62942ee5851b55aa1c0a56dbd3f43af1330ea451 · discourse/discourse · GitHub

Не совсем уверен, использует ли Omniauth OIDC или конечную точку интроспекции токенов для получения фактических атрибутов пользователя, хотя.

1 лайк

20 сообщений были перенесены в новую тему: Помощь с настройкой Discourse ID