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

フォローする

(著者:サイボウズ 浅賀 功次

今回は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)」は非同期通信のため、同期通信を行いたい。
  • 「kintone REST API リクエスト(kintone.api)」から実行できないREST API(ファイルのアップロード、ダウンロード)を実行したい。

参考Tips

ファイルアップロードで必須となる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 必要 不要

 

 

 

このTipsは、2014年4月版で確認したものになります。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。
Powered by Zendesk