Warning

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

ユーザー属性付きSAP書き戻しとOAuth 2.0

このページには、SAPでのOAuth 2.0サーバーの設定FoundryでのOAuth 2.0クライアントの設定の手順が含まれています。

SAPでのOAuth 2.0サーバーの設定

前提条件

  • Palantir Foundry Connector 2.0 for SAP Applications ("Connector")のSP21以上
  • SAPにおけるFoundryの技術ユーザーは SYSTEM ユーザーであること
  • /PALANTIR/OAUTH_CLIENT は、FoundryからSAPに書き戻したいFoundryの技術ユーザーとエンドユーザーに割り当てられていること
  • /PALANTIR/CONTENT_FUNCTION_ALL はエンドユーザーに割り当てられていること
  • OAuth 2.0の設定のために、/sap/public/bc ノードの下のすべてのサービスがアクティブであること
    • /sap/bc/sec/oauth2*
    • /default_host/sap/bc/webdynpro/sap/oauth2_authority
  • SAP Gatewayがアクティブであること
  • SAP NetWeaver 7.4 SP09以上(OAuth 2.0およびODataのサポート)

リファレンス

OAuth 2.0の設定

  1. SOAUTH2 トランザクションを実行します。
  2. 作成... を選択します。
  3. Foundryの技術ユーザーのユーザー名を OAuth 2.0 Client ID として入力します。
  4. 次へ > を選択します。
  5. Foundryの技術ユーザーのユーザー名を User ID として入力します。
  6. Client User ID and PasswordSSL Client Certificate の両方がチェックされていることを確認します。
  7. 次へ > を選択します。
  8. Redirect URIhttps://<FOUNDRY_DOMAIN>/workspace/oauth2-clients/callback として設定します。
  9. 次へ > を選択します。
  10. OAuth 2.0 Scope ID/PALANTIR/SRV_0001 で、説明が Palantir Foundry writeback using SAP functions のような Scope Assignment を追加します。
  11. 次へ > 、そして 完了 を選択します。

ODataの設定

  1. SAP内の Maintain service ページで、サービスの階層をたどって opu > odata > palantir を見つけます。
  2. palantir を右クリックして Activate Service を選択します。
  3. プロンプトが表示されたら Yes を選択します。
  4. Create/Change a Service タブで、 Interactive Options の下の GUI Configuration を選択します。
  5. 名前が ~CHECK_CSRF_TOKEN 、値が 0 (ゼロ)のパラメーターを追加します。
  6. CSRF_TOKENの検証を無効化します:https://help.sap.com/doc/saphelp_hba/1.0/de-DE/e6/cae27d5e8d4996add4067280c8714e/content.htm
  7. /IWFND/MAINT_SERVICE トランザクションを実行します。
  8. System Aliases の下で Add System Alias を選択します。
  9. 次の値を持つシステムエイリアスを追加します:
    • Service Doc. Identifier: /PALANTIR/SRV_0001
    • User Role: 空白
    • Host Name: 空白
    • SAP System Alias: LOCAL
    • Metadata Default: チェックなし
    • Default System: チェックあり
    • Tech. Svc. Name: /PALANTIR/SRV
    • Ext. Service Name: ODATA_SRV
    • Version: 1
    • User Name: 空白

FoundryでのOAuth 2.0クライアントの設定

これは一般的にアウトバウンドアプリケーションの設定で概説されているアプローチに従いますが、特にSAPシステムに特化して調整されています。

ソース接続の設定

警告

SAPソースURLがHTTPSを使用していることを確認してください。そうでないと、OAuthフローを使用しているときにwebhookが失敗します。

  1. 新しい REST API ソースを作成します。

REST APIソースの作成

  1. SAPソースに使用される基本ドメインURLとポートでソースを設定します。
  2. Basic 認証を選択し、SAPに接続するために使用されるユーザー名とパスワードを追加します。

REST APIソースの設定

  1. ソースを保存します。

OAuth 2.0認証フローwebhookの設定

  1. 新しい REST API ソースの概要ページで、Create webhook を選択します。

  2. webhookに名前を付けます(たとえば“SAP OAuth2 authorization code flow webhook”)。

  3. Request configuration ステップに進みます。

  4. Calls の下で、リクエストタイプとして POST を選択し、パスとして sap/bc/sec/oauth2/token を入力します。

  5. Query Params の下で、使用されているクライアントがデフォルトのクライアントでない場合、sap-client を設定する必要があるかもしれません。

Webhook calls

  1. Input Parameters までスクロールダウンし、次の3つのパラメーターを追加します(すべて文字列タイプ):
  • redirect_uri
  • client_id
  • authorization_code

Webhook input parameters

  1. Calls までスクロールバックして Body タブを選択します。
  2. Form URL Encoded を選択し、次の4つのエントリを追加します:
  • grant_typeauthorization_code
  • redirect_uriredirect_uri 入力パラメーターにマッピング(これを行う方法については以下を参照)
  • client_idclient_id 入力パラメーターにマッピング
  • codeauthorization_code 入力パラメーターにマッピング
  1. 入力パラメーターをマッピングするには、フィールドに @ を入力し、次に Input Parameter を選択します。関連するパラメーターを見つけ、それを選択し、その後 Add を選択します。

Input parameter mappings

  1. 完成した Body の設定は次のようになります:

Webhook body

  1. Responses ステップに進みます。
  2. 次の5つの Output Parameters を作成します。すべて文字列タイプで、レスポンスからキーで抽出されるべきです。
  • access_token
  • token_type
  • expires_in
  • refresh_token
  • scope

これは access_token を作成するための例です。すべての出力パラメーターはこのパターンに従うべきです。

Webhook output parameter

  1. Create webhook and continue を選択してwebhookを保存します。

OAuth 2.0再読み込みフローwebhookの設定

  1. REST API ソースから新しいwebhookを作成します。
  2. webhookに独自の名前を付けます(たとえば“SAP OAuth2 refresh flow webhook”)。
  3. リクエストメソッドは再度 POST に設定し、同じパス(sap/bc/sec/oauth2/token)を使用します。
  4. 前のwebhookと同様に、必要に応じて Query Param として sap-client を設定します。
  5. Headers タブで、次のヘッダーを追加します:
  • Content-Typeapplication/x-www-form-urlencoded

Refresh webhook header

  1. 次の2つの Input Parameters を設定します(どちらも文字列):
  • client_id
  • refresh_token
  1. 次に Body タブで、次の3つのエントリを追加します:
  • grant_typerefresh_token
  • client_idclient_id 入力パラメーターにマッピング
  • refresh_tokenrefresh_token 入力パラメーターにマッピング Refresh webhook body
  1. 認証コードフローwebhookとまったく同じ5つの Output Parameters を作成します。すべて文字列タイプで、レスポンスからキーで抽出されるべきです。
  • access_token
  • token_type
  • expires_in
  • refresh_token
  • scope
  1. Create webhook and continue を選択してwebhookを保存します。

アウトバウンドアプリケーションの設定

  1. Foundry Control Panel に移動し、Outbound applications を選択します。
  2. アプリケーションに名前を付け、次にオンプレミスOAuthサーバーの設定オプションの下に記載されている手順を順に実行します。
  3. 先ほど作成した2つのwebhookは、それぞれ Token webhookRefresh token webhook として使用するべきです。
  4. Authorization page URL は次の形式であるべきです:
https://<SAP_DOMAIN>/sap/bc/sec/oauth2/authorize

この行は、SAPシステムのOAuth2認証ページへのURLを示しています。ユーザーがこのURLにアクセスすると、SAPシステムはユーザーにログイン情報を入力するように求め、正しい情報が提供されるとアクセストークンを発行します。このアクセストークンは、その後のAPI呼び出しで使用され、ユーザーが認証済みであることを証明します。

<SAP_DOMAIN>は、あなたのSAPシステムのドメイン名に置き換える必要があります。例えば、あなたのSAPシステムのドメイン名がsap.example.comであれば、URLは次のようになります。

https://sap.example.com/sap/bc/sec/oauth2/authorize
  1. OAuth 2.0設定の下で、クライアントIDはSAP OAuth 2.0サーバー設定のクライアントIDに設定する必要があります。 スコープの下には、/PALANTIR/SRV_0001を追加します。
  2. アウトバウンドアプリケーションを保存します。
  3. このアウトバウンドアプリケーションは、SAP Webhookを作成する際に使用できます。