このサンプルは、CurlアプリからWEBシステムへのセッションクッキー等の情報を引き渡すための仕組みを示すサンプルです。
Curl側で必要な処理:
Curlアプリのセッションクッキー文字列をクリップボードに貼り付ける。
サンプルコード:
{import Clipboard from CURL.DESKTOP.CLIPBOARD}
{def clipb = {Clipboard.get-system-clipboard}}
{clipb.set-string "MY-SESSION-COOKIE"}
ウェブシステム側の処理:
このページのようにセッションクッキーを引き渡すためのページを一つ用意し、認証の必要がない場所(WEBシステムと同じホスト下)に配置
サンプルコード:
<script>
navigator.clipboard.readText().then(function(data){
if (data) {
alert("Data in Clipboard:[" + data + "]");
//document.cookie = "SESSION_ID=" + data + "; domain=www.curl.com; path=/"
// 必要に応じて、ほかのクッキー属性を設定してください。
document.cookie = "SESSION_ID=" + data + "; path=/"
} else {
alert("Clipboard empty.");
}
});
</script>
このページの処理:
ページをロードするタイミングで、Curlアプリでクリップボードに貼り付けたセッションクッキーをJavascriptで取得し,
該当WEBシステムのセッションクッキーとしてJavascriptで設定することでクッキー情報をCurlアプレットからウェブシステムへ引き渡します。
利用方法:
このセッションクッキーを引き渡すためのページをアクセスしてから、WEBシステムにアクセスする。
注意事項:
Curlアプリ側でWEBシステムへ渡すデータをクリップボードに貼り付けた後に、引き渡しページにアクセスする前に、クリップボード関連の操作を避ける必要があります。
別のアプリに誤ってクリップボードが編集された場合, クッキーの引き渡しができなくなる恐れがあります。
このページをロードした後に、次のリンクをクリックすれば、渡したクッキーの情報が確認できます。
(SESSION_ID というクッキー名になります)
Confirm cookies