はじめに
CSRFの対策済のWebAPI をテストする場合に、POSTMAN からアクセス出来ないと不便なことが多いので
POSTMAN への設定方法と、なぜこの方法で動くのかを説明したいと思います。
POSTMANの設定
忙しい人向けに、POSTMAN の設定から見ていきましょう
Tests タブに、レスポンス後にサーバから取得した CSRF トークンを保存する処理を記載します。
var xsrfCookie = postman.getResponseCookie("XSRF-TOKEN");
postman.setEnvironmentVariable("xsrf-token", xsrfCookie.value);
続いてheader タブに、前回リクエスト時に保存した CSRF トークンを追加します。
以上で設定終了です。
良いポストマンライフを!
では続いて、どうしてこれで動くのか?
CSRF対策 って何?って人向けに解説をしていきます。
CSRF対策とは
一言で言ってしまうと、正規サイト以外からのWebAPIアクセスを防止しようとする仕組みです。
対策を怠ってしまうと、悪意を持ってWebAPIを動かされてしまう原因になってしまいます。
実際過去にこんな事がありました。
どうやって対策するの?
正規サイトへのアクセスがあった際に、CSRF トークン を発行します。
WebAPI を呼び出す際には、正規サイトで取得した CSRF トークンをリクエストに含めることで
正規サイトからのアクセスだと判断するようにします。
POSTMAN では、CSRF トークンを取得して、取得したトークンを次回のリクエストで送信するようにしています。