本次介绍使用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
此Tips介绍了为了能够执行未封装“kintone REST API请求(kintone.api)”的REST API(文件上传)而使用XMLHttpRequest时,必须要用到CSRF令牌的情况。
此Tips介绍了为了执行未封装“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月版中确认过。
回复(2)
不需要
如果要执行一个外部JAVA程序,调用kinton的记录添加api时,是否需要用到CSRF令牌?