OAuthとRESTの統合を構成する
このトピックでは、OAuth 2.0を介した認証のプロビジョニング向けに、REST APIを使用してSalesforceアプリ統合を設定する方法を説明します。
重要:
Salesforceは、新しい接続済みアプリの作成を制限しています。Oktaでは、代わりに外部クライアントアプリを使用することをお勧めします。「外部クライアントアプリに切り替える」を参照してください。
開始する前の確認事項
- Salesforceで管理者アカウントを作成します。Salesforce REST統合で使用するOAuthコンシューマーキーとコンシューマーシークレットを作成するには、このアカウントが必要です。
- Salesforceでカスタムユーザープロファイルを作成します。このプロファイルは、SOAP統合とREST統合の両方に必要です。「Salesforceプロビジョニングを有効にする」を参照してください。
Salesforceで外部クライアントアプリを構成する
Oktaで必要なOAuthコンシューマーキーとコンシューマーシークレットを生成するには、Salesforceで外部クライアントアプリを構成する必要があります。
- Salesforceに管理者としてサインインします。
- 新しい外部クライアントアプリを作成するか、既存の接続済みアプリを移行します。「外部クライアントアプリを作成する」または「接続済みアプリを外部クライアントアプリに移行する」を参照してください。
- 外部クライアントアプリのOAuth設定を構成します。
- アプリの設定(App settings)セクションで、以下の値を使用します。
- OAuthを有効化(Enable OAuth):有効
- コールバックURL(Callback URL): https://system-admin.okta.com/admin/app/generic/oauth20redirect
https://system-admin.okta.com/admin/app/generic/oauth20redirect - OAuthスコープ(OAuth Scopes):
Manage user data via APIs (api)およびPerform requests at any time (refresh_token, offline_access)
- セキュリティ(Security)セクションで、次のオプションを有効にします。
- Webサーバーフローでシークレットが必要
- リフレッシュトークンフローでシークレットが必要
- サポート対象の認可フローでProof Key for Code Exchange(PKCE)拡張機能が必要
- リフレッシュトークンのローテーションを有効化する
- アプリの設定(App settings)セクションで、以下の値を使用します。
- ポリシー(Policies)タブで、以下の値を使用します。
- 許可済みユーザー(Permitted Users):すべてのユーザーが自己認可できる
- リフレッシュトークンポリシー(Refresh Token Policy):リフレッシュトークンは取り消されるまで有効
- 設定(Settings)タブに移動します。で、コンシューマーキーとシークレット(Consumer Key and Secret)をクリックします。
- コンシューマーキー(Consumer Key)とコンシューマーシークレット(Consumer Secret)をコピーします。これらの値は、Oktaでプロビジョニングを構成する際に必要になります。注:
Salesforceでこれらの変更を複製するには、最大10分かかる場合があります。10分間待ってから、Oktaの構成に進みます。
OAuthとRESTの統合を構成する
注:
既存の顧客向け:
このOAuthの構成が完了するまで、Oktaは既存のSOAP資格情報(管理者ユーザー名およびパスワード)をプロビジョニング操作に引き続き使用します。SOAP資格情報を設定していない場合、またはOAuth構成の完了に失敗した場合、プロビジョニング操作でInvalid API Credentialsエラーが返されます。
- Admin Consoleでに移動します。
- 構成値を入力します。
- OAuthコンシューマーキー(OAuth Consumer Key):Salesforceのコンシューマーキーを貼り付けます。
- OAuthコンシューマーシークレット(OAuth Consumer Secret):Salesforceのコンシューマーシークレットを貼り付けます。
- PKCEの有効化(PKCE Enabled):このチェックボックスを選択します。
- Salesforce.comで認証する(Authenticate with Salesforce.com)をクリックします。
- 新しいSalesforce.comのウィンドウで、外部クライアントアプリの作成に使用した管理者ユーザー名とパスワードを入力します。過去にSOAP資格情報を入力していれば、再入力する必要はありません。
- 許可(Allow)をクリックして、外部クライアントアプリへのOktaアクセスを付与します。
- 保存(Save)をクリックします。
これで、OAuth経由でREST APIを使用するようにSalesforce統合が構成されました。