CSRF トークン利用時の注意点

著者名: 浅賀 功次 (External link) (サイボウズ)

目次

CSRF トークン利用時の注意点

今回は CSRF トークンについて、以下の利用時の注意点を紹介します。

  • CSRF トークンを取得する で仕様を明記しているとおり、kintone REST API をセッション認証で実行する場合は、CSRF トークンが必要となります。(HTTP メソッドが POST, PUT, DELETE の場合のみ)

  • kintone 内(JavaScript)で API を実行する場合は、HTTP メソッドにかかわらず CSRF トークンは不要となります。

    • 例外として、JavaScript から XMLHttpRequest を使って REST API を実行する時は CSRF トークンが必要となります。
      その場合も、CSRF トークンが必要になるのは HTTP メソッドが POST, PUT, DELETE の場合のみです。

XMLHttpRequest は主に、「kintone REST API リクエスト(kintone.api)」から実行できない REST API(ファイルのアップロード、ダウンロード)を実行したい場合に利用します。

  • ファイルアップロードで必須となる 3 つの手順

    • 「kintone REST API リクエスト(kintone.api)」が未対応の REST API(ファイルアップロード)を実行する目的で XMLHttpRequest を使うため、CSRF トークンが必要となるパターンです。
  • ファイルダウンロードで必須となる 2 つの手順

    • 「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 必要 不要
information

この Tips は、2014 年 4 月版 kintone で動作を確認しています。