(著者:サイボウズ 浅賀 功次)
今回はCSRFトークンについて、間違えやすいポイントをご紹介します。
以下のページで仕様を明記している通り、kintone REST API をセッション認証で実行する場合は、CSRFトークンが必要となります。(HTTPメソッドがPOST, PUT, DELETEの場合のみ)
CSRFトークンを取得する
kintone内(JavaScript)でAPIを実行する場合は、HTTPメソッドに関わらずCSRFトークンは不要となります。ただし、例外としてJavaScriptからXMLHttpRequestを使ってREST APIを実行する時はCSRFトークンが必要となります。
※その場合も、CSRFトークンが必要になるのはHTTPメソッドがPOST, PUT, DELETEの場合のみです。
XMLHttpRequestを使う理由としては、主に以下が考えられます。
- 「kintone REST API リクエスト(kintone.api)」から実行できないREST API(ファイルのアップロード、ダウンロード)を実行したい。
参考Tips
- 「kintone REST API リクエスト(kintone.api)」が未対応のREST API(ファイルアップロード)を実行する目的でXMLHttpRequestを使うため、CSRFトークンが必要となるパターンです。
- 「kintone REST API リクエスト(kintone.api)」が未対応のREST API(ファイルダウンロード)を実行する目的でXMLHttpRequestを使いますが、HTTPメソッドがPOST, PUT, DELETE以外のためCSRFトークンは不要となるパターンです。
まとめ
POST, PUT, DELETE | POST, PUT, DELETE以外 | |
kintone REST API リクエスト(kintone.api) |
不要 | 不要 |
XMLHttpRequest | 必要 | 不要 |
このTipsは、2014年4月版で確認したものになります。
記事に関するフィードバック
記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。