Discourse Salesforce

:discourse2: 概要 Discourse Salesforce は、Discourse ユーザーと Salesforce のリード/コンタクト間の同期を可能にし、Salesforce によるソーシャルログインを有効にします。
:hammer_and_wrench: リポジトリリンク https://github.com/discourse/discourse-salesforce
:open_book: インストールガイド Discourse へのプラグインのインストール方法

Salesforce リード/コンタクトと Discourse ユーザー間の同期

投稿メニューを使用して、任意の Discourse ユーザーから Salesforce リードまたはコンタクトを作成できます。これらのユーザーを簡単に区別するために、投稿内のユーザー名の横に投稿者アイコンが表示されます。対応する Salesforce オブジェクトには、これらの Discourse ユーザープロファイルへのリンクバックが含まれます。

作成されたリードとコンタクトは、自動的に Discourse のユーザーグループに追加されます。

リードまたはコンタクトが新しいトピックを作成すると、Chatter にフィードアイテムとして追加されます。

Salesforce ケースと Discourse トピック間の同期

トピック管理メニューから、任意の Discourse トピックに対して Salesforce ケースを作成できます。トピックの著者は自動的に Salesforce コンタクトとして作成されます。

Salesforce によるログイン(OAuth)

このプラグインは、Salesforce によるログインも可能にし、Salesforce ユーザーが Discourse にサインアップしやすくします。

設定

ステップ 1 から 3 は、新しい(2025)外部クライアントアプリマネージャーを使用して Salesforce コンソールで設定を行う手順です。ステップ 4 と 5 は、Discourse Salesforce プラグインでの設定手順です。

ステップ 1: 外部クライアントアプリマネージャーに移動する

右上の歯車アイコンにある設定をクリックします。「外部クライアントアプリマネージャー”を検索します。

📸


ステップ 2: 新しい外部クライアントアプリを作成する

「基本情報」を入力し、OAuth 設定を有効にします。

コールバック URL は次のようになります

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

次の利用可能な OAuth スコープを追加します

  • ID 情報 URL サービスへのアクセス(id、profile、email、address、phone)
  • API を介したユーザーデータの管理(api)
  • いつでもリクエストの実行(refresh_token、offline_access)

フローの有効化において

  • クライアント認証情報フローを有効にする
  • JWT ベアラーフローを有効にする(これはリードとコンタクトの作成用です)
    • 証明書の生成
    • server.crt ファイルをアップロードします(このチュートリアルでは、server.crtserver.key ファイルを生成することを想定しています)
    • サイト用に server.key ファイルを保管してください

保存します。

📸



ステップ 3: 新しい外部クライアントアプリのコンシューマーシークレットを取得する

新しく作成した外部クライアントアプリで、[設定] タブに移動し、下にスクロールして OAuth 設定を展開します。

「Consumer Key and Secret」をクリックし、ログイン資格情報を再度入力して、次のステップに進みます。

📸

ステップ 4: Discourse Salesforce プラグインの設定に詳細を入力する

https://<your-discourse-site>/admin/plugins/discourse-salesforce/settings に移動します

更新する設定は 6 つ + 1 つあります

  • 「salesforce enabled」をチェックする
  • 「salesforce login enabled」をチェックする
  • 前のステップの Consumer Key を使用して「salesforce client id」を入力する
  • 前のステップの Consumer Secret を使用して「salesforce client secret」を入力する
  • 上記で生成した server.key ファイルを使用して「salesforce rsa private key」を入力する
  • Salesforce 組織内の管理者のメールアドレスを「salesforce username」に入力します。これは Salesforce でシステム管理者である必要があります。
  • カスタム Salesforce ドメインがある場合: salesforce authorization server url

ステップ 5: Discourse アプリを Salesforce 用に承認する

https://<your-discourse-site>/salesforce/admin/authorize に移動します

アプリの承認を促すプロンプトが表示されます。

📸

:discourse2: 当社でホストされていますか?このプラグインは、当社のエンタープライズプランで利用可能です。

「いいね!」 14

こんにちは。

このプロセスを完了しようとしている途中で、いくつか問題が発生したようです。設定部分がそれほど明確ではなかったので、このガイドとSalesForceのガイドを組み合わせて参考にしました。

Salesforce側でOAuthと自己署名サーバー.crtをアプリにアップロードしてアプリを作成しました。コールバックURL(Salesforceガイドのステップ6)は、推奨されるローカルホストURLがあまり意味をなさなかったので、Discord設定のデフォルトとしてhttps://login.salesforce.comを入力しました。コンシューマーキーとシークレット、RSAキー、そしてSalesforce管理者メールアドレスはすべてDiscourseプラグインのSalesforce設定に入力しましたが、Discourse側で作成されたリード生成などが表示されません。レビューできるステップバイステップガイドや、テストして問題を解決するためのインサイトをお持ちの方はいらっしゃいますか?

よろしくお願いします!
Tim

OPの構成セクションに、より詳細な手順をいくつか追加しました。

「いいね!」 2