6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SalesforceをIDプロバイダとして、外部アプリケーションとSAML認証する

Last updated at Posted at 2018-05-30

概要

SalesforceのユーザでSAML認証して、外部アプリケーションにログインする方法をメモとして残したいと思います
構成はIDプロバイダをSalesforce、サービスプロバイダをログイン対象のWebアプリケーション

1. ID プロバイダとしての有効化(Salesforce)

  1. 私のドメインを設定
    sfdc_my_domain.png

  2. IDプロバイダの有効化
    sfdc_id_provider_on.png

  3. IDプロバイダで使用する証明書の作成もしくは選択
    sfdc_id_provider_makekey.png

  4. IDプロバイダの設定完了後は「証明書」と「メタデータ」をそれぞれダウンロード
    後述のサービスプロバイダで使用します
    sfdc_id_provider_completed.png

2. サービスプロバイダの設定(外部アプリケーション)

以下では外部アプリケーションでの設定になります
設定の詳細は各アプリケーションの手順に従ってください

  1. IDプロバイダのログインURL
    前述でダウンロードしたメタデータの SingleSignOnServiceのLocationプロパティを使用します
    (HTTP-POST、HTTP-Redirect形式かはアプリケーションに応じて選択してください)

    SAML.xml
    
    ~ 省略 ~
      <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://hogehoge.my.salesforce.com/services/auth/idp/saml2/logout"/>
      <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://hogehoge.my.salesforce.com/services/auth/idp/saml2/logout"/>
      <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
      <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://hogehoge.my.salesforce.com/idp/endpoint/HttpPost"/>
      <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://hogehoge.my.salesforce.com/idp/endpoint/HttpRedirect"/>
    </md:IDPSSODescriptor>
    


```
2. IDプロバイダのログアウトURL
前述でダウンロードしたメタデータの SingleLogoutServiceのLocationプロパティを使用します
3. 証明書のインポート
前述でダウンロードしたSalesforceの証明書をインポート
4. サービスプロバイダのentityIDとAssertionConsumerService(ACS)の取得

3. 新規接続アプリケーションの作成(Salesforce)

  1. 新規接続アプリケーションの作成
    エンティティIDとACS URLはサービスプロバイダで取得した値を入力
    件名種別ではSalesforceログイン成功後にログインしたユーザのどの(カスタム)項目を外部アプリケーションに引き渡すのかを選択
    名前ID形式やIdP証明書はダウンロードしたメタデータに合わせて選択してください
    sfdc_new_application.png

  2. プロファイルもしくは権限セットの付与
    sfdc_application_profile.png

トラブルシューティング

認証がうまくいかない場合

Salesforceの「ID プロバイダイベントログ」に認証ログが残りますので、Salesforceでの認証で問題の有無を確認できます

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?