Skip to main content
AI agentをユーザーのSalesforceアカウントに接続すると、リードや取引先責任者の作成・更新、通話やメールのアクティビティの記録、レポートの生成、ケース管理の自動化が可能になります。

SalesforceをAuth0に接続する

1

Salesforceの設定

  1. Salesforce Developerアカウントにサインアップするか、既存のSalesforce orgを使用します。
  2. Salesforce orgで、Setup → Platform Tools → Apps → App Managerに移動します。
  3. New External Client Appを選択します。
  4. 基本情報を入力します。
    • Connected App Name:連携内容がわかる名前を入力します
    • API Name:アプリ名に基づいて自動生成されます
    • Contact Email:ご自身のメールアドレスを入力します
  5. API (Enable OAuth Settings)セクションで、以下を設定します。
    • Enable OAuth Settingsを選択します
    • Callback URL:https://YOUR_AUTH0_DOMAIN/login/callback
    You can find the Auth0 domain in the Auth0 Dashboard.You can find this under Applications > [Your Application] > Settings > Basic Information > Domain.If you are using the custom domains feature, your Auth0 domain is the custom domain. You can find this under Branding > Custom Domains.
    • Selected OAuth Scopes:以下のスコープを追加します。
      • api - データへのアクセスと管理 (api)
      • refresh_token - ユーザーに代わっていつでもリクエストを実行 (refresh_token、offline_access)
      • openid - アイデンティティURLサービスへのアクセス
  6. 重要なトークン設定 (Token Vaultとの互換性を最適化するため) :
    • Require Secret for Web Server Flow:セキュリティを強化するため、このオプションを選択します
    • Require Secret for Refresh Token Flow:トークンのリフレッシュオペレーションを保護するため、このオプションを選択します
    • Enable Refresh Token Rotation:リフレッシュのたびにトークンをローテーションするため、このオプションを選択します
    • Issue JSON Web Token (JWT)-based access tokens for named users:トークンの有効期間を延ばし、パフォーマンスを向上させるため、このオプションを選択します
  7. Createを選択し、アプリが作成されるまで待ちます。
  8. 作成後、Consumer Key (Client ID) とConsumer Secret (client secret) を控えておきます。
トークン設定に関する注意事項:
  • JWTではなくオペークトークンを選択した場合、Token Vaultは有効期限をデフォルトで10分に設定するため、トークンのリフレッシュが頻繁に発生する可能性があります。
  • refresh_tokenスコープは、Auth0でリクエストするだけでなく、Connected Appの設定でも有効にしてください。Salesforce側でこのスコープが有効になっていないと、Auth0はリフレッシュトークンをリクエストできません。
  • セキュリティを高めるため、リフレッシュトークンのローテーションを有効にすることをお勧めします。
SalesforceのConnected Appの設定について詳しくは、Create a Connected Appのドキュメントを参照してください。
2

Auth0の設定

必要なスコープ: Auth0の接続設定に、以下のスコープを必ず含めてください。
  • openid - アイデンティティURLサービスへのアクセス
  • api - データへのアクセスと管理
  • refresh_token - ユーザーに代わっていつでもリクエストを実行
  • offline_access - ユーザーが不在のときもアクセスを維持
これらのスコープは、SalesforceのConnected App設定でも有効にする必要があります。
このガイドでは、Auth0 で Salesforce 接続をセットアップする手順を説明します。 このような接続を使用して、ユーザーに代わってアプリから第三者 API を呼び出す方法を一連の流れで示す例については、 ユーザーに代わって第三者 API を呼び出すクイックスタートをお読みください。

Token Vaultの設定例

Salesforce接続にToken Vaultを設定するには、アプリケーションで次のコードスニペットを使用します。

トラブルシューティング

無効なグラントのエラー

期限切れのアクセストークンまたはリフレッシュトークンで invalid_grant エラーが発生する場合は、次の点を確認してください。
  1. トークンの設定を確認する:Connected Appで、オペークトークンではなくJWTトークンが使用されていることを確認します。
  2. リフレッシュトークンのポリシーを確認する:Connected Appで、リフレッシュトークンのポリシーを「取り消されるまで有効 (valid until revoked) 」に設定します。
  3. スコープの設定:Salesforce Connected AppとAuth0接続の両方で、refresh_token スコープと offline_access スコープが有効になっていることを確認します。
  4. トークンのローテーション:リフレッシュトークンのローテーションを使用している場合は、更新リクエストのたびに返される新しいリフレッシュトークンをアプリケーションで適切に処理してください。

よくある問題

  • スコープエラー:必要なスコープはAuth0でリクエストするだけでなく、すべてSalesforce Connected Appの設定で有効にしておく必要があります。
  • トークンの有効期限:JWTトークンはオペークトークンよりも有効期限が長くなっています。オペークトークンを使用する場合は、トークンのリフレッシュが頻繁に発生することを想定しておいてください。
  • 複数回の認可:同じユーザーを短時間に何度も認可することは避けてください。トークンが無効化される問題が発生する可能性があります。
トラブルシューティングの詳細については、SalesforceのOAuthトラブルシューティングドキュメントおよびエラーコードのリファレンスを参照してください。

Next steps