OktaをSalesforceのOpenIDプロバイダーに設定してSSOを構築する

Stay hungry. Stay foolish. Your time is limited, so don't waste it living someone else's life.

OktaをSalesforceのOpenIDプロバイダーに設定してSSOを構築する

はじめに

MuleSoftのOIDCアクセストークン適応ポリシーを検証するために、Authorization Codeフローの検証環境を準備する。ここでは、OktaをSalesforceのOpenIDプロバイダーに指定する手順について説明する。

目次

  1. OktaにOpenIDプロバイダーの設定をする
  2. Salesforceに認証プロバイダーの設定をする
  3. 私のドメインでOktaの認証方式に選択する
  4. 登録ハンドラーを修正する
  5. Oktaに認証プロバイダーの設定を反映する
  6. 既存ユーザと紐付ける
  7. 動作を確認する

手順詳細

下記のヘルプを参照して構築した。

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の統合アプリケーションのクライアントシークレット>
承認エンドポイント URLhttps://<Oktaサブドメイン>.okta.com/oauth2/default/v1/authorize
トークンエンドポイント URLhttps://<Oktaサブドメイン>.okta.com/oauth2/default/v1/token
デフォルトの範囲openid
登録ハンドラ<自動生成>
他のアカウントで登録を実行<システム管理者>

3. 私のドメインでOktaの認証サービスに選択する

4. 登録ハンドラーを修正する

メソッド引数の[Auth.UserData]の[data]がうまく取得できないため、コメントアウトした・・・・

5. Oktaに認証プロバイダーの設定を反映する

項目名
Sign-in redirect URIshttps://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プロバイダーに指定する手順について説明しました。環境を構築する際はぜひ、活用してください。では、