手順
変更要求(PUT、POST、DELETE)の場合、RESTクライアントはサーバーにCSRF(Cross-Site Request Forgery)トークンを提供する必要があります。これは、ABAPサーバーからの以前のサービス呼び出しで取得したものです。
このため、最初の変更のない呼び出し(GET、HEAD、OPTIONS)で、クライアントはHTTPヘッダーX-CSRF-Tokenを設定してフェッチを評価することにより、このトークンを取得する必要があります。その後、CSRFトークンは同じヘッダーで返され、HTTPヘッダーX-CSRF-Tokenの後続の変更呼び出しに使用できます。このヘッダーが変更中の呼び出しに存在しない場合、サーバーはHTTP 403( “Forbidden”)リターンコードで応答し、HTTPヘッダーはRequiredに設定され、エラーテキスト( “CSRFトークン検証に失敗しました”)が返されます。
CSRFトークンは、サーバーへのログインが成功した後にのみ作成されます。このため、認証を必要としない公共サービスは、CSRFトークンベースの保護をまったくサポートしていないため、RESTライブラリを使用してサーバー上のデータを変更することはできません。
これは、HTTPクライアントでCSRFトークンヘッダーフェッチリクエストを設定するためのコードフラグメントです。
フェッチ呼び出しへの応答が成功した後、CSRFトークンは、後の変更要求のために保持できます。これは、サーバーの応答からCSRFトークンを読み取り、それを次の名前のインスタンス属性に割り当てるコードフラグメントです。mv_csrf_token。
詳しくは
CSRF保護の詳細については、を参照してください。