メインコンテンツへスキップ
次の手順に従って、Salesforce を として設定します。
  1. Salesforce の証明書とメタデータを取得します。
  2. Auth0 をサービスプロバイダーとして設定します。
  3. Salesforce の IDプロバイダー (IdP) を設定します。
  4. Salesforce でユーザーに権限を付与します。
  5. Salesforce IdP への接続をテストします。

前提条件

Salesforce.com のアカウントを登録します。IDプロバイダーのサポートを含むアカウント種別のいずれかを選択する必要があります。

Salesforce の証明書とメタデータを取得する

  1. Salesforce アカウントにログインします。
  2. Salesforce ドメインを作成します。
  3. Salesforce ドメイン https://{yourDomain}.my.salesforce.com にログインし、右上の Setup をクリックします。
  4. Quick Find ボックスに Single Sign-On Settings と入力し、Single Sign-On Settings を選択してから Edit をクリックします。
  5. SAML SSO 設定を表示するには、SAML Enabled を選択します。
  6. デフォルトの証明書を選択し、Save をクリックします。
  7. Download Certificate をクリックして、IDプロバイダー証明書をダウンロードします。
  8. Download Metadata をクリックして、IDプロバイダーのメタデータをダウンロードします。

Auth0 をサービスプロバイダーとして設定する

Salesforce の IDプロバイダーと 通信を行うために、Auth0 をサービスプロバイダーとして設定します。
  1. Dashboard > Authentication > Enterprise に移動し、SAML をクリックします。
  2. Create Connection をクリックします。
  3. 設定ウィンドウで、次の情報を入力します。
SettingDescription
Connection Name接続に名前を付けます。たとえば SFIDP です。
Email Domainsユーザーがログインに使用するメールアドレスのドメイン名を入力します。たとえば、ユーザーのメールアドレスのドメインが abc-example.com の場合は、このフィールドにその値を入力します。複数のドメインを入力できます。
Sign In URLSalesforce からダウンロードしたメタデータファイルを開き、SingleSignOnService バインディングを含む行を探します。その行の location 属性の値が Sign In URL です。形式は https://{sf-account-name}.my.salesforce.com/idp/endpoint/HttpRedirect のようになります。ここで、{sf-account-name} は Salesforce のドメイン名です。
Sign Out URLSign In URL に入力したものと同じ URL を入力します。
  1. Certificate については、次のコマンドを使用して Salesforce からダウンロードした証明書を .pem 形式に変換します。 openssl x509 -in original.crt -out sfcert.pem -outform PEM ここで、original.crt はダウンロードした .crt ファイルのファイル名です。
    1. UPLOAD CERTIFICATE をクリックし、作成した .pem ファイルを選択します (上記の例では sfcert.pem) 。それ以外のフィールドは、現時点では無視してかまいません。
    2. SAVE をクリックします。
    3. CONTINUE をクリックします。表示されたウィンドウに Auth0 サービスプロバイダーの SAML メタデータが表示されます。設定を完了するには、この情報の一部を Salesforce に入力する必要があるため、このウィンドウは開いたままにしてください。
Auth0 の SAML 接続のメタデータには、次の URL 構文でアクセスできます: https://{yourDomain}/samlp/metadata?connection={yourConnectionName}

Salesforce を IDプロバイダーとして設定する

Auth0 のメタデータを使用して Salesforce を設定し、Auth0 からの SAML ベースの認証リクエストを受信して応答できるようにします。
  1. salesforce.com を開きます。
  2. Setup > Manage Apps に移動し、Connected Apps をクリックします。
  3. 新しい Connected App を作成し、次の項目を入力します。
設定説明
Entity IDurn:auth0:YOUR_TENANT:YOUR_CONNECTION_NAME
ACS URLhttps://{yourDomain}/login/callback
Subject TypePersistent ID
Name ID FormatemailAddress を含むものを選択します
Issuerhttps://{your-saleforce-domain}.my.salesforce.com
  1. Save をクリックして設定を完了します。

Salesforce でユーザーに権限を付与する

  1. salesforce.com を開き、Setup をクリックします。
  2. Manage UsersProfiles をクリックします。
  3. 下にスクロールし、Standard User というプロファイル (2 ページ目) を見つけます。
  4. Edit をクリックして、そのプロファイルを編集します。
  5. Connected App Access セクションまで下にスクロールします。
  6. Connected App の名前の横にあるチェックボックスをオンにして、このプロファイルで有効にします。
  7. Save をクリックします。
  8. Manage UsersUsers をクリックします。
  9. Edit をクリックしてテストユーザーを編集し、プロファイルを Standard User に設定します。 別の Salesforce プロファイルを使用する場合は、そのプロファイルで Connected App を有効にし、Salesforce IDプロバイダーを通じてログインするすべてのユーザーにそのプロファイルが設定されていることを確認します。

Salesforce への接続をテストする

  1. Auth0 Dashboard の Authentication > Enterprise セクションに移動します。SAMLP IDプロバイダー を選択します。
  2. 先ほど作成した SAML 接続の Try ボタンをクリックします。Auth0 から Salesforce のログインページにリダイレクトされます。
  3. Salesforce のログイン画面 が表示されたら、Salesforce アカウントの作成時に設定した資格情報でログインします。
    1. SAML の設定が正しく機能していれば、ブラウザーは “It works!!!” と表示される Auth0 のページにリダイレクトされます。このページには、Salesforce IDプロバイダーから Auth0 に送信された SAML 認証アサーションの内容が表示されます。
    2. うまくいかない場合は、上記の手順を再確認し、以下の トラブルシューティング セクションを参照してください。
SSO のトラブルシューティングでは、やり取りの HTTP トレースを取得して HAR ファイルとして保存すると役立つことがよくあります。詳細については、Generate and Analyze HAR Files を参照してください。
HAR ファイルを誰かと共有する前に (Auth0 を含む) 、次のようなすべての機密データを削除または難読化していることを確認してください。
  • 機密性の高いユーザー情報
  • 個人を特定できる情報 (PII)
  • 機密性の高いアプリケーション情報
詳細については、Auth0 Community の次の記事を参照してください。
HTTP トレースツールを用意したら、ログインの一連の流れを最初から最後まで取得し、GET リクエストの順序に注目してトレースを分析します。元のサイトから IdP へのリダイレクト、ログインが必要だった場合の資格情報の送信、そしてコールバック URL へのリダイレクトが確認できるはずです。HAR ファイルには SAML レスポンスも含まれます。 ブラウザーで Cookie と JavaScript が有効になっていることを確認してください。 Salesforce のユーザープロファイルに、Salesforce IDプロバイダー経由でログインする権限があることを確認してください (上記のセクション 4 を参照) 。