4 weeks ago
ODataサービスのリクエストヘッダに含めるCookieについて調査をしております。
動作検証を行う中でCookieの必須パラメータが何か仮説を立てたのですが、認識齟齬がないか皆様のご意見いただければ幸いです。
■背景
ローコードツールを使用してS/4HANAとODataサービスの通信を行うアプリケーション開発を行い、開発したアプリケーションをBTP上にデプロイしようとしております。
そのためODataサービスの通信上必須となるリクエストヘッダのパラメータについて調査しておりますが、現在各パラメータの中でもCookieについて詳細に調査している最中となります。
■試したこと
Cookieを削除した状態で初回GETリクエストを行った結果、レスポンスヘッダにset-cookieが3つ含まれていることを確認しました。
取得した3つのCookieパラメータをリクエストヘッダのCookieに追加したり削除したりして組み合わせ、リクエストが通るか検証したところ下記結果となりました。
・sap-usercontext
→cookieに含めなくても動作する。
・MYSAPSSO2
→cookieに含めなくても動作する。
・SAP_SESSIONID
→cookieに含めないと動作しない。
上記検証からSAP_SESSIONIDがあれば動作はすることが確認できましたが、sap-usercontext、MYSAPSSO2の役割をネット検索したところ下記のことが判明しました。
・sap-usercontext
ユーザー コンテキストは、SAP ユーザーに特別に割り当てられるデータであり、リクエストの処理に必要となる。
User Context | SAP Help Portal
・MYSAPSSO2
シングルサインオン時にログオンチケットを保持する役割を担う
複数ドメインのログオンチケットの設定 (SAP ライブラリ - ポータルでの認証)
なのでリクエストヘッダのCookieパラメータに含めずに動作していたとしても、シングルサインオン実装やS/4HANA側での処理を考慮してsap-usercontextとMYSAPSSO2もCookieに含めておいた方がよい、という結論を私の中で出しました。
しかし、sap-usercontextとMYSAPSSO2についての知識がまだまだ浅いので、必須パラメータとして含めるべきか、またそれぞれのパラメータの役割についてご知見のある方がいらっしゃいましたらご教示いただけますと幸いです。
以上、よろしくお願いいたします。