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で動作を確認しています。