はじめに
今回はCSRFトークンの簡単な説明と利用例を 【Garoon JavaScript API】ワークフロー承認後にスケジュールを登録する の記事を例にして説明します。
CSRFトークンが必要になるケース
CSRFトークンは、正規のページからアクセスされていることを証明するための値です。
Garoon REST APIでは、次のすべてに当てはまる場合、CSRFトークンを使用してAPIを実行する必要があります。
- セッション認証でGaroon REST APIを実行する。
- WebブラウザーのFetch APIまたはXMLHttpRequestオブジェクトを使う。
- POST/PATCH/PUT/DELETEメソッドのAPIを実行する。
サンプル
次の記事で紹介されているソースコードを、CSRFトークンを使ってGaroon REST APIを実行するように書き換えてみます。
【Garoon JavaScript API】ワークフロー承認後にスケジュールを登録する
なお、この記事でCSRFトークンを使う題材に取り上げていますが、JavaScriptカスタマイズでGaroon REST APIを実行する際は、CSRFトークンが不要なgaroon.api()で実行することをおすすめします。
細かいワークフローの設定は上記の記事を参考に設定してください。
「wf_to_sch.js」のコードだけ、次のサンプルコードに置き換えてください。
サンプルコード
68行目のsampleのみ、ご使用のサブドメイン名に変更してください。
|
|
サンプルコード解説
CSRFトークンを取得するGaroon JavaScript API
|
|
CSRFトークンを取得するGaroon JavaScript APIです。
リクエストボディを生成する
|
|
リクエストボディを生成する関数です。
リクエストボディ内に登録する予定の情報を記述し、スケジュール登録APIを実行します。
オブジェクトの構造については スケジュールオブジェクト を参照してください。
リクエストボディに必要な情報を取得する
|
|
ワークフロー申請を承認したときのイベント
のイベントオブジェクトから、リクエストボディに必要な情報を取得します。
詳細については
ワークフローオブジェクト
を参照してください。
REST APIを実行する
|
|
このサンプルコードでは、jQuery.ajax() を用いてREST APIを実行します。
jQuery.ajax() の公式リファレンス:
https://api.jquery.com/jquery.ajax/
おわりに
CSRFトークンが必要な場合にも、Garoon REST APIが実行できるようになりました。
また、Garoon REST APIは今後も機能を増やしてく予定です。
追加してほしい機能のAPIがありましたら、
次期Garoon REST API人気投票
からアンケートにご協力お願いします。
このTipsは、2018年8月版Garoonで動作を確認しています。
