注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このページでは、SAP で OAuth 2.0 サーバーを設定する手順と、Foundry で OAuth 2.0 クライアントを設定する手順を説明します。
SYSTEM ユーザーである必要があります/PALANTIR/OAUTH_CLIENT を、Foundry テクニカルユーザーと、Foundry から SAP にライトバックするエンドユーザーに割り当てる必要があります/PALANTIR/CONTENT_FUNCTION_ALL をエンドユーザーに割り当てる必要があります/sap/public/bc ノード配下のすべてのサービスを有効化する必要があります(OAuth 2.0 設定用)
/sap/bc/sec/oauth2*/default_host/sap/bc/webdynpro/sap/oauth2_authoritySOAUTH2 トランザクションを実行します。https://<FOUNDRY_DOMAIN>/workspace/oauth2-clients/callback に設定します。/PALANTIR/SRV_0001、説明を Palantir Foundry writeback using SAP functions などに設定したスコープ割り当てを追加します。~CHECK_CSRF_TOKEN、値が 0(ゼロ)のパラメーターを追加します。/IWFND/MAINT_SERVICE トランザクションを実行します。/PALANTIR/SRV_0001LOCAL/PALANTIR/SRVODATA_SRV1ここでは、アウトバウンドアプリケーションを設定するで説明されている一般的な方法を、SAP システム向けに調整しています。
SAP 接続に合ったセットアップを選択します。
Allow Foundry to act on your behalf in SAP?)を設定します。<SAP_DOMAIN> を SAP のホスト名に、<SAP_PORT> をその HTTPS ポートに置き換えます。https://<SAP_DOMAIN>:<SAP_PORT>/sap/bc/sec/oauth2/authorize
https://<SAP_DOMAIN>:<SAP_PORT>/sap/bc/sec/oauth2/token

/PALANTIR/SRV_0001 を追加します。アウトバウンドアプリケーションの設定オプションの詳細については、アウトバウンドアプリケーションを設定するを参照してください。
SAP Data Accelerator を介したユーザーに帰属するライトバックは、開発のベータ版フェーズにあり、お使いのエンロールメントでは利用できない場合があります。これには、以下で説明するトークン取得 Webhook と更新トークン Webhook、アウトバウンドアプリケーションのセットアップ、および BAPI ライトバックが含まれます。開発が進行している間は、機能が変更される場合があります。
SAP Data Accelerator を介したユーザーに帰属するライトバックを有効にするには、SAP ERP ソースに2個の Webhook、つまりトークン取得 Webhook と更新トークン Webhook を作成します。次に、アウトバウンドアプリケーションで両方の Webhook を選択します。これらの Webhook は、ソースの認証と SAP Data Accelerator の接続設定を使用して、トークンの交換と更新を行います。
開始する前に、SAP OAuth 2.0 サーバーのセットアップを完了し、SAP Data Accelerator を使用するように SAP ERP ソースを設定してください。また、アウトバウンドアプリケーションを管理する権限も必要です。
トークン取得 Webhook と更新トークン Webhook を作成する際は、関数の設定をオフにしてください。この設定が有効になっていると、Webhook は関数として公開され、アウトバウンドアプリケーションでは使用できません。
各 Webhook のタスクタイプを選択した後、例を挿入を使用します。これにより、タスク本文のテンプレートが自動的に入力され、入力パラメーターと出力パラメーターが、データ型およびレスポンスフィールドへのマッピングとともに作成されます。以下のパラメーターテーブルを使用して、生成された設定を確認します。

両方の Webhook で、リクエスト設定 > 権限付与のアウトバウンドアプリケーションを選択されていませんのままにします。これらの Webhook は、SAP ソースの認証を使用して、アウトバウンドアプリケーションのトークンを取得および更新します。ここでそのアプリケーションを選択すると、循環依存関係が生じます。
両方の Webhook で、Webhook の安全性をデフォルトのAPI を書き込むのままにします。
以下の手順に従って、同じ SAP ERP ソースに2個の Webhook を作成します。
Get OAuth Token などの Webhook 名を入力し、関数の設定をオフにします。sap-erp-oauth2-token-webhook-task に設定します。Refresh OAuth Token などの名前を入力します。sap-erp-oauth2-refresh-webhook-task に設定します。トークン取得 Webhook は、以下の入力パラメーターを必要とします。
| 入力パラメーター | データ型 | 必須 |
|---|---|---|
client_id | 文字列 | はい |
redirect_uri | 文字列 | はい |
authorization_code | 文字列 | はい |
code_verifier | 任意の文字列 | アウトバウンドアプリケーションで PKCE を有効にするがオンになっている場合は必須です。 |
生成されたタスク本文は、これらの入力を以下のようにマッピングします。
Copied!1 2 3 4 5 6{ "client_id": {{json client_id}}, "redirect_uri": {{json redirect_uri}}, "authorization_code": {{json authorization_code}}, "code_verifier": {{json code_verifier}} }
更新トークン Webhook は、以下の入力パラメーターを必要とします。
| 入力パラメーター | データ型 | 必須 |
|---|---|---|
client_id | 文字列 | はい |
refresh_token | 文字列 | はい |
生成されたタスク本文は、これらの入力を以下のようにマッピングします。
Copied!1 2 3 4{ "client_id": {{json client_id}}, "refresh_token": {{json refresh_token}} }
Foundry は、認可とトークン更新の際にこれらの入力値を指定します。各リクエストが適切な値を受け取れるように、タスク本文内のパラメーター参照を保持してください。
例を挿入は、両方の Webhook に以下の出力パラメーターも作成します。レスポンスで、各変数に指定された名前、データ型、レスポンスキーを持つ出力パラメーターがそれぞれ設定されていることを確認します。Webhook を手動で設定する場合は、以下のテーブルに示すように、行ごとに1個の出力パラメーターを作成し、対応するレスポンスキーにマッピングします。
| 出力パラメーター | データ型 | レスポンスキー |
|---|---|---|
access_token | 文字列 | access_token |
scope | 文字列 | scope |
token_type | 任意の文字列 | token_type |
expires_in | 任意の文字列 | expires_in |
refresh_token | 任意の文字列 | refresh_token |
以下の例は、トークン取得 Webhook に設定された入力と出力のマッピングを示しています。

更新トークン Webhook は、2個の入力パラメーターと同じ出力マッピングを使用します。

以下の手順に従って、保存した2個の Webhook を使用して OAuth 2.0 接続を設定します。
Allow Foundry to act on your behalf in SAP? などの承認プロンプトを入力します。sap-erp-oauth2-token-webhook-task を使用する Webhook に設定し、更新トークン Webhook を sap-erp-oauth2-refresh-webhook-task を使用する Webhook に設定します。https://<SAP_DOMAIN>/sap/bc/sec/oauth2/authorize に設定します。ユーザーがブラウザーからアクセスできる SAP URL を使用します。トークンの交換と更新には SAP Data Accelerator を使用しますが、この対話型の認可ステップでは、ユーザーのコンピューターからのアクセスが必要です。/PALANTIR/SRV_0001 を追加します。
同じ SAP ERP ソースで、BAPI を呼び出す Webhook を作成または編集します。この BAPI Webhook のリクエスト設定 > 権限付与 > アウトバウンドアプリケーションで、保存したアプリケーションを選択します。ユーザーがライトバックワークフローを実行すると、有効なトークンをまだ持っていない場合、Foundry は SAP へのアクセスを認可するためのプロンプトを表示します。その後、ライトバックはそのユーザーの SAP 認可を使用し、必要に応じて更新トークン Webhook が新しいアクセストークンを取得します。
以下で説明する REST API Webhook の設定は、開発ライフサイクルのレガシー段階にあり、追加の開発は予定されていません。新しい設定では、Foundry で OAuth 2.0 クライアントをセットアップするの該当する接続設定を選択します。レガシーの方法の詳細については、(レガシー)カスタム Webhook ベースの OAuth 2.0 ハンドシェイクを参照してください。
以前は、SAP 用の OAuth 2.0 を設定するには、トークンフローと更新フローを手動で処理するための Webhook を備えた専用の REST API ソースを作成する必要がありました。既存の SAP 統合でこの方法を使用している場合は、引き続き動作します。
SAP ソースの URL が HTTPS を使用していることを確認してください。そうでない場合、OAuth フローを使用すると Webhook が失敗します。


関数として公開された Webhook は、レガシーのカスタム Webhook ベースの OAuth 2.0 アウトバウンドアプリケーションでは使用できません。トークン Webhook と更新 Webhook を作成するときは、関数の公開が無効になっていることを確認してください。
新しい REST API ソースの概要ページで、Webhook を作成を選択します。
Webhook に名前(たとえば SAP OAuth2 authorization code flow webhook)を付けます。関数の設定がオフになっていることを確認してください。
リクエスト設定ステップに進みます。
呼び出しで、リクエストの種類として POST を選択し、パスとして sap/bc/sec/oauth2/token を入力します。
使用するクライアントがデフォルトのクライアントでない場合は、クエリパラメーターで sap-client を設定する必要がある場合があります。

redirect_uriclient_idauthorization_code
grant_type → authorization_coderedirect_uri → redirect_uri 入力パラメーターにマッピング(方法については以下を参照)client_id → client_id 入力パラメーターにマッピングcode → authorization_code 入力パラメーターにマッピング

access_tokentoken_typeexpires_inrefresh_tokenscope以下は access_token を作成する例です。すべての出力パラメーターで、このパターンに従います。

SAP OAuth2 refresh flow webhook)を付けます。関数の設定がオフになっていることを確認してください。sap/bc/sec/oauth2/token)を使用します。sap-client をクエリパラメーターとして設定します。Content-Type → application/x-www-form-urlencoded
client_idrefresh_tokengrant_type → refresh_tokenclient_id → client_id 入力パラメーターにマッピングrefresh_token → refresh_token 入力パラメーターにマッピング

access_tokentoken_typeexpires_inrefresh_tokenscopehttps://<SAP_DOMAIN>/sap/bc/sec/oauth2/authorize
/PALANTIR/SRV_0001 を追加します。