📌 브라우저에서는 어드민 페이지의 로그인이 가능하지만
Postman으로 API 요청 시 실패하는 경우 (세션 기반 인증)
[GET] localhost:8000/admin/
요청 csrftoken
을 저장하기 위해서 Script를 사용.csrftoken
을 글로벌 변수로 저장한다.var cookies = pm.response.headers.get("set-cookie");
if (cookies) {
var csrfMatch = cookies.match(/csrftoken=([^;]+)/);
if (csrfMatch) {
var csrfToken = csrfMatch[1];
pm.globals.set("csrftoken", csrfToken);
console.log("CSRF Token 저장:", csrfToken);
} else {
console.log("CSRF Token이 없음.");
}
} else {
console.log("Set-Cookie가 없음");
};
[POST] localhost:8000/admin/login
요청10 hidden
) 안에 자동으로 설정이 되어있기 때문.X-CSRFToken
키에 글로벌 변수로 저장했던 csrftoken
값 추가form-data
혹은 x-www-form-urlencoded
session_id
를 돌려주며 성공 시 DB의 django_session 테이블에 저장된다.this_is_the_login_form
키값 추가csrfmiddlewaretoken
값은 본인의 경우엔 필요 없었다.로그인 성공 시 위처럼 sessionid가 저장된다.