Discourse Salesforce

:discourse2: Краткое описание Discourse Salesforce обеспечивает синхронизацию между пользователями Discourse и лидами/контактами Salesforce, а также позволяет войти в систему через Salesforce Social Login
:hammer_and_wrench: Ссылка на репозиторий https://github.com/discourse/discourse-salesforce
:open_book: Руководство по установке Как установить плагины в Discourse

Синхронизация между лидами/контактами Salesforce и пользователями Discourse

Вы можете создать Лид или Контакт в Salesforce из любого пользователя Discourse с помощью меню сообщений. Чтобы легко отличать таких пользователей, рядом с именем пользователя в сообщениях будет отображаться значок автора. В соответствующих объектах Salesforce будут присутствовать обратные ссылки на профили этих пользователей Discourse.

Созданные таким образом Лиды и Контакты автоматически добавляются в группы пользователей Discourse.

Когда Лиды или Контакты создают новые темы, они добавляются как записи в ленту Chatter.

Синхронизация между случаями (Cases) Salesforce и темами Discourse

Вы можете создать случай (Case) в Salesforce для любой темы Discourse из меню администрирования темы. Автор темы автоматически будет создан как Контакт в Salesforce.

Вход через Salesforce (OAuth)

Этот плагин также позволяет войти через Salesforce, что упрощает регистрацию пользователей Salesforce в Discourse.

Конфигурация

Шаги 1–3 описывают настройку в консоли Salesforce с использованием нового менеджера внешних клиентских приложений (2025). Шаги 4 и 5 описывают настройку плагина Discourse Salesforce.

Шаг 1: Переход к менеджеру внешних клиентских приложений

Нажмите Setup (Настройка) в шестеренке в правом верхнем углу. Введите в поиск «External Client App Manager».

📸


Шаг 2: Создание нового внешнего клиентского приложения

Заполните «Basic Information» (Основная информация), затем включите настройки OAuth.

URL обратного вызова (callback URL) должен быть:

  • https://<your-discourse-site>
  • https://<your-discourse-site>/auth/salesforce/callback

Добавьте следующие доступные области действия OAuth:

  • Доступ к сервису идентификационного URL (id, profile, email, address, phone)
  • Управление данными пользователя через API (api)
  • Выполнение запросов в любое время (refresh_token, offline_access)

В разделе «Flow Enablement» (Включение потоков):

  • Включите Client Credentials Flow
  • Включите JWT Bearer Flow (это необходимо для создания лидов и контактов)
    • Сгенерируйте сертификат
    • Загрузите файл server.crt (в этом руководстве предполагается, что вы сгенерируете файлы server.crt и server.key)
    • Сохраните файл server.key для вашего сайта

Сохраните изменения.

📸



Шаг 3: Получение секретов клиента (Consumer secrets) для нового внешнего клиентского приложения

На созданном внешнем клиентском приложении перейдите на вкладку Settings (Настройки) и прокрутите вниз, чтобы развернуть настройки OAuth.

Нажмите на «Consumer Key and Secret», снова введите учетные данные для входа, а затем перейдите к следующему шагу.

📸

Шаг 4: Заполнение настроек в плагине Discourse Salesforce

Перейдите по адресу https://<your-discourse-site>/admin/plugins/discourse-salesforce/settings

Необходимо обновить шесть + одну настройку:

  • Поставьте галочку «salesforce enabled» (Salesforce включен)
  • Поставьте галочку «salesforce login enabled» (Вход через Salesforce включен)
  • Заполните «salesforce client id», используя Consumer Key (Ключ потребителя) из предыдущего шага
  • Заполните «salesforce client secret», используя Consumer Secret (Секрет потребителя) из предыдущего шага
  • Заполните «salesforce rsa private key», используя файл server.key, который вы сгенерировали выше
  • Заполните «salesforce username» адресом электронной почты администратора в вашем org Salesforce. Это должен быть System Administrator (Системный администратор) в Salesforce.
  • Если у вас есть пользовательский домен Salesforce: salesforce authorization server url (URL сервера авторизации Salesforce)

Шаг 5: Авторизация приложения Discourse для Salesforce

Перейдите по адресу https://<your-discourse-site>/salesforce/admin/authorize

Вам будет предложено авторизовать приложение.

📸

:discourse2: Хостится у нас? Этот плагин доступен в наших корпоративных планах.

14 лайков

Привет,

Кажется, я столкнулся с проблемой при выполнении этого процесса. Поскольку часть настройки была не совсем понятной, я следовал комбинации этого руководства и этого от SalesForce.

Я создал приложение на стороне Salesforce с OAuth и загрузил самоподписанный серверный сертификат (server.crt) в приложение. В качестве URL-адреса обратного вызова (шаг 6 в руководстве Salesforce) я указал https://login.salesforce.com, так как предложенный URL-адрес локального хоста в настройках Discord не имел особого смысла. У нас есть ключ и секрет потребителя, а также RSA-ключ и адрес электронной почты администратора Salesforce, все они введены в настройках плагина Discourse для Salesforce, но мы не видим таких событий, как создание лидов, на стороне Discourse. Есть ли у кого-нибудь пошаговое руководство, которое мы могли бы изучить, или какие-либо советы по тестированию и решению этой проблемы?

Спасибо!
Тим

Я добавил ещё несколько подробных шагов в раздел конфигурации в исходном сообщении.

2 лайка