AI Brief 오류 해결, 설치 가이드, 도구 비교
오류 해결

워드프레스 REST API 401 오류 "현재 로그인 상태가 아닙니다" rest_not_logged_in 해결

워드프레스 REST API가 401로 현재 로그인 상태가 아닙니다(rest_not_logged_in)나 rest_forbidden_param을 돌려줄 때, 직접 확인한 결과와 점검 순서입니다.

n8n의 HTTP Request 노드로 워드프레스 REST API를 호출했는데 401과 함께 "현재 로그인 상태가 아닙니다."(rest_not_logged_in) 또는 "쿼리 파라미터 허용되지 않음: status"(rest_forbidden_param)가 나왔다면, 워드프레스가 요청을 로그인하지 않은 상태로 보고 있다는 뜻입니다. 제 사이트에서는 가짜 사용자 이름과 가짜 비밀번호를 보내도 똑같은 응답이 나왔습니다. 그래서 이 오류만 보고는 사용자 이름, 비밀번호, 헤더 중 무엇이 틀렸는지 알 수 없습니다. 직접 확인한 결과와 점검 순서를 정리했습니다.

나오는 오류 두 가지

오류 코드화면에 나오는 한국어 문구제가 만난 요청
rest_not_logged_in현재 로그인 상태가 아닙니다.인증 정보 없이 GET /wp-json/wp/v2/users/me
rest_forbidden_param쿼리 파라미터 허용되지 않음: status인증 정보 없이 GET /wp-json/wp/v2/comments?status=hold

둘 다 HTTP 401입니다. 한국어 문구는 제 사이트(한국어 설정)가 돌려준 실제 응답이고, 같은 사이트의 한국어 번역 파일로도 확인했습니다. 사이트 언어가 영어면 문구는 영어로 나오지만 오류 코드는 같으니 코드로 검색하는 것이 정확합니다. 영어 원문은 "You are not currently logged in."과 "Query parameter not permitted: status"입니다.

직접 시험한 결과

2026년 10월 19일에 제 사이트에 읽기 전용 GET 요청만 curl로 보냈습니다. 글을 쓰는 요청은 보내지 않았고, 실제 계정 이름은 쓰지 않았습니다.

요청인증 정보결과
/users/me없음401, rest_not_logged_in
/comments?status=hold없음401, rest_forbidden_param
/users/me지어낸 사용자 이름과 비밀번호401, rest_not_logged_in
/comments?status=hold지어낸 사용자 이름과 비밀번호401, rest_forbidden_param
/posts?per_page=1(공개 데이터)없음200
  • 지어낸 인증 정보로 보낸 요청이 인증 정보 없이 보낸 요청과 완전히 같은 응답을 받았습니다. "사용자 이름이 틀렸다"나 "비밀번호가 틀렸다" 같은 오류는 나오지 않았습니다.
  • 공개 데이터를 읽는 요청은 인증 없이도 200이었습니다. 그래서 이 요청이 성공했다는 것은 사이트와 REST API에 닿았다는 뜻일 뿐, 인증이 맞다는 증거는 아닙니다.
  • 보류 댓글(status=hold)은 제한된 요청이라 로그인하지 않으면 워드프레스가 파라미터를 거부합니다. 그래서 이 경우에는 로그인 문구 대신 rest_forbidden_param이 나옵니다.

점검 순서

  1. 먼저 같은 인증 정보로 /wp-json/wp/v2/users/me를 호출해 보세요. 제 워크플로우에서도 첫 번째 워드프레스 호출이 이것입니다. 내 사용자 정보가 나오면 인증은 맞는 것이고, rest_not_logged_in이 나오면 다른 것을 보기 전에 인증 정보부터 고쳐야 합니다.
  2. 워드프레스 사용자 이름과 Application Passwords로 만든 비밀번호를 쓰고 있는지 확인하세요. 로그인할 때 쓰는 비밀번호가 아닙니다. 자세한 설정은 n8n과 WordPress REST API, Application Password 가이드(영어)와 댓글 답글 워크플로우 글에 정리했습니다.
  3. 사이트가 HTTPS인지 확인하세요. 워드프레스 코어 공식 가이드는 Application Passwords가 SSL/HTTPS로 서비스되는 사이트에서 기본으로 사용 가능하고 인증은 HTTP Basic Auth로 보낸다고 설명합니다.
  4. n8n에서는 HTTP Request 노드가 실제로 만든 Basic Auth 자격 증명을 쓰고 있는지, 수정한 자격 증명이 노드에 연결된 그 자격 증명인지 확인하세요.
  5. 공개 요청(/wp-json/wp/v2/posts?per_page=1)과 비교해 보세요. 이것은 되는데 users/me가 안 되면 네트워크가 아니라 인증 문제입니다.

Application Passwords 화면 이름

한국어로 설정한 워드프레스에서도 사용자 프로필의 이 항목 이름은 번역되지 않고 Application Passwords라는 영어로 나오는 것으로 보입니다. 제 사이트의 한국어 번역 파일에서 이 항목과 "New Application Password Name", "Add New Application Password"가 번역되어 있지 않은 것을 확인한 결과이고, 실제 화면을 캡처해 비교하지는 않았습니다.

시험하지 못한 것

  • 실제 사용자 이름에 틀린 비밀번호를 보내는 경우와 폐기된 Application Password는 시험하지 않았습니다. 같은 응답인지 다른 응답인지 말씀드릴 수 없습니다.
  • Authorization 헤더를 지우는 보안 플러그인, 프록시, 방화벽은 시험하지 않았습니다. 이것도 로그인하지 않은 상태가 되는 또 다른 원인입니다.
  • 권한이 부족한 사용자는 시험하지 않았습니다. 그 경우에는 워드프레스가 다른 응답을 줍니다.
  • curl로 시험했고 n8n 화면에서 이 오류가 어떻게 보이는지는 확인하지 않았습니다.
  • 한 사이트(WordPress 7.1.3)에서만 시험했습니다.

같은 시험을 영어 독자용으로 정리한 글은 WordPress REST API 401: rest_forbidden_param and rest_not_logged_in With an Application Password(영어)에 있습니다.

출처 WordPress Core, Application Passwords integration guide. 오류 코드와 영어 문구는 제 사이트의 워드프레스 코어 파일에서 확인했습니다.

수정: 2026년 10월 21일