CSRF トークン利用時の注意点
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 の場合のみです。
- 例外として、JavaScript から XMLHttpRequest を使って REST API を実行する時は CSRF トークンが必要となります。
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 トークンは不要となるパターンです。
- 「kintone REST API リクエスト(kintone.api)」が未対応の REST API(ファイルダウンロード)を実行する目的で XMLHttpRequest を利用するケースです。
まとめ
POST, PUT, DELETE | POST, PUT, DELETE 以外 | |
---|---|---|
kintone REST API リクエスト(kintone.api) | 不要 | 不要 |
XMLHttpRequest | 必要 | 不要 |
この Tips は、2014 年 4 月版 kintone で動作を確認しています。