フレクトのクラウドblog re:newal

http://blog.flect.co.jp/cloud/からさらに引っ越しています

MuleSoft開発 Salesforceを使用してSSOを実現する - OpenID Connect編

こんにちはCI事業部の川瀬です。

前回に引き続きSalesforceを使用してSSOを実現したいと思います。今度はOpenID Connectを使用します。前置きは省略し実際にやっていきましょう!

では、Salesforceの設定から実施していきましょう。途中までは、前回のSAML編と同じです。

1. Salesforceで「私のドメイン」を設定する。

f:id:k2-flect:20220115121228p:plain

2. Salesforceで「IDプロバイダの有効化」を有効化する。

f:id:k2-flect:20220115110936p:plain

3. Salesforceで「接続アプリケーション」を作成する。

下記の画面で、「接続アプリケーション名」、「API 参照名」、「取引先責任者 メール」に対し、任意の値を設定してください。 f:id:k2-flect:20220115111718p:plain

下記の画面で、「OAuth 設定の有効化」をチェックしてください。 f:id:k2-flect:20220115200922p:plain

3.1 「コールバック URL」の設定

コールバック URLには何を設定するのでしょうか?どこを探してもそのような記事はないです。そうなんです、この時点では設定すべき値はどこにも存在しないので、「https://hoge.hoge.com」で大丈夫です。

3.2 「選択した OAuth 範囲」の設定

選択した OAuth 範囲には何を設定するのでしょうか?全部設定してしまうことが簡単ですが、気になりますよね。これもどこを探しても、何を設定すべきかを記載している記事はないです。
ここでは次の2つを設定すれば大丈夫です。
・ID URL サービスにアクセス
・一意のユーザー識別子にアクセス
設定したら、「保存」ボタンを押します。

3.3 「コンシューマ鍵」と「コンシューマの秘密」

保存ボタンを押すと以下の画面に遷移します。そうしたら、「コンシューマ鍵」と「コンシューマの秘密」を保存しておいてください。後で使います。 f:id:k2-flect:20220115202552p:plain

4. 「Identity Provider」の設定

ここからは、Anypoint Platformの作業になります。 Access Managementの「Add Identity Provider」→「OpenID Connect」を選択します。 f:id:k2-flect:20220115114127p:plain

4.1 「Use manual registration」の設定

以下の図で「Use manual registration」をクリックします。 f:id:k2-flect:20220115203052p:plain

そうすると、次の図のようになります。 f:id:k2-flect:20220115203322p:plain

4.2 「Name」の設定

はい、適当に任意の値を設定してください。

4.3 「Client ID」の設定

手順3.3で取得した「コンシューマ鍵」を設定してください。

4.4 「Client ID」の設定

手順3.4で取得した「コンシューマの秘密」を設定してください。

4.5 「OpenID Connect Issuer」の設定

https://≪MYDOMAIN≫.my.salesforce.com/services/oauth2​/clients
≪MYDOMAIN≫は手順1で取得した値です。

4.6 「Authorize URL」の設定

https://≪MYDOMAIN≫.my.salesforce.com/services/oauth2/authorize

4.7 「Token URL」の設定

https://≪MYDOMAIN≫.my.salesforce.com/services/oauth2/token

4.8 「User Info URL」の設定

https://≪MYDOMAIN≫.my.salesforce.com/services/oauth2/token
はい、ここまできたら「Save Changes」を押してください。

4.9 「redirect URI」の取得

保存したら、再度、開いてください。図のようにredirect URIが設定されています。 f:id:k2-flect:20220115204307p:plain

5. Salesforceに「コールバック URL」を設定する

手順3.3で「https://hoge.hoge.com」を設定しましたよね。これを手順4.9で取得した値に置き換えます。

6. SSOの確認

Anypoint Platformにログインしている場合は、一旦、ログアウトし、下記のURLブラウザに入力してください。 https:/anypoint.mulesoft.com/accounts/login/DOMAIN-NAME
DOMAIN-NAMEはAnypoint Platformaのドメインです。組織ドメインは以下の図の箇所で確認できます。 f:id:k2-flect:20220115112822p:plain

Salesforceのログイン画面がでてきてログインできましたか?成功するとAnypoint Platformのユーザーに以下のようなユーザーが登録されています。

f:id:k2-flect:20220115121353p:plain

前回に引き続き、「OpenID Connect」を使用したSSOの設定方法を紹介しました。分かると簡単なのですが、「コールバック URL」など肝心なところの説明、設定方法が欠落しておりイライラしてしまいます。

なんでこんなことを紹介したかというと、勿論Salesforceを導入しているならそちらでアカウント管理したほうが便利ですよね。更に、API Community Managerなるものがあり、こちらの事前設定で必要になるのです。

docs.mulesoft.com

次回は、「クライアント認証」か「Standalone」について説明するつもりです。