OktaをSalesforceのOpenIDプロバイダーに設定してSSOを構築する
はじめに
MuleSoftのOIDCアクセストークン適応ポリシーを検証するために、Authorization Codeフローの検証環境を準備する。ここでは、OktaをSalesforceのOpenIDプロバイダーに指定する手順について説明する。
目次
- OktaにOpenIDプロバイダーの設定をする
- Salesforceに認証プロバイダーの設定をする
- 私のドメインでOktaの認証方式に選択する
- 登録ハンドラーを修正する
- Oktaに認証プロバイダーの設定を反映する
- 既存ユーザと紐付ける
- 動作を確認する
手順詳細
下記のヘルプを参照して構築した。
Salesforce公式ヘルプ:OpenID Connectを使用した認証プロバイダの設定
Okta公式ヘルプ:OpenID Connect & OAuth 2.0 API
Okta公式ヘルプ:How to connect Salesforce with Okta using OpenID Connect
Okta公式ヘルプ:Add a social Identity Provider
Oktaブログ:SAMLとOAuth:比較と違い OpenID(OIDC)との関係
1.OktaにOpenIDプロバイダーの設定をする
Oktaの管理画面にログインして統合アプリケーションを登録する。
Oktaの管理画面のサイドメニューの[Applications] を選択する。
[Applications] 画面 > [Create App Integration]ボタンを押下する。

新規統合アプリケーションの[OIDC – OpenID Connect]ラジオボタンをクリックする。
次に”Authorization Codeフロー”を利用したいため、[Web Application]ラジオボタンをクリックする。

統合アプリケーション名は、”Salesforce OpenID Connect SSO”を設定する。

| 項目 | 値 |
|---|---|
| App integration name | Salesforce OpenID Connect SSO |
統合クライアントのクライアントIDとクライアントシークレットをメモする。

APIの各エンドポイントを確認する。
サイドメニューの[Security] > [API]メニューを選択する。

Metadata URIにアクセスすると、Salesforceの認証プロバイダーの設定に必要なエンドポイントが確認できる。

2. Salesforceに認証プロバイダーの設定をする
認証プロバイダーを設定する。
サイドメニューの[設定] > [認証プロバイダ]メニューを選択する。
[新規]ボタンを押下する。

設置一覧に従って設定する。

| 項目 | 値 |
|---|---|
| プロバイダタイプ | Open ID Connect |
| 名前 | Okta OpenID provider |
| コンシューマ鍵 | <Oktaの統合アプリケーションのクライアントID> |
| コンシューマの秘密 | <Oktaの統合アプリケーションのクライアントシークレット> |
| 承認エンドポイント URL | https://<Oktaサブドメイン>.okta.com/oauth2/default/v1/authorize |
| トークンエンドポイント URL | https://<Oktaサブドメイン>.okta.com/oauth2/default/v1/token |
| デフォルトの範囲 | openid |
| 登録ハンドラ | <自動生成> |
| 他のアカウントで登録を実行 | <システム管理者> |
3. 私のドメインでOktaの認証サービスに選択する

4. 登録ハンドラーを修正する
メソッド引数の[Auth.UserData]の[data]がうまく取得できないため、コメントアウトした・・・・


5. Oktaに認証プロバイダーの設定を反映する
| 項目名 | 値 |
|---|---|
| Sign-in redirect URIs | https://d5i000000khbreao-dev-ed.my.salesforce.com/services/authcallback/Okta_OpenId_provider |
| Sign-out redirect URIs | https://d5i000000khbreao-dev-ed.my.salesforce.com/services/auth/rp/oidc/logout |
| Initiate login URI | https://d5i000000khbreao-dev-ed.my.salesforce.com/services/auth/oauth/Okta_OpenId_provider |
6. Oktaに検証用のユーザを作成する
サイドメニューの[Directory] > [People]メニューを選択する。


6. 既存ユーザと紐付ける
OktaとSalesforceのリンク対象ユーザでログインして、下記の既存ユーザをリンクするURLにアクセスする。

ユーザリンク画面が表示される。

OktaとSalesforceのユーザがリンクされたことが確認できる。

7. 動作を確認する
SalesforceのドメインにアクセスするとOktaの認証サービスボタンが表示される。

Oktaログイン画面が表示される。

ログイン後Salesforceのホーム画面が表示される。

さいごに
いかがだったでしょうか?
OktaをSalesforceのOpenIDプロバイダーに指定する手順について説明しました。環境を構築する際はぜひ、活用してください。では、






