WP REST API 2.0 플러그인을 사용하여 기본 인증으로 인증할 수 없음
기본 인증에 문제가 있습니다.
다음 URL을 사용하여 Postman(chrome 플러그인)으로 GET 요청을 보내려고 합니다. http://_MY_WEBSITE_URL_/wp-json/wp/v2/users/3
사용자 이름과 암호 필드는 사이트의 관리자 사용자 자격 증명으로 채워집니다.
오류가 발생할 경우:
{
"code": "rest_user_cannot_view",
"message": "Sorry, you cannot view this resource.",
"data": {
"status": 401
}
}
다른 웹사이트의 wp_remote_request를 이용하여 기본인증을 해보았고, CURL도 해보았지만 결과는 매번 같습니다.
아이디가 3인 사용자가 있습니다, 확인했습니다.사용자를 모두 나열하려면 게시물이 생성된 사용자만 표시됩니다.
WP REST API, JSON Basic Authentication 등 필요한 플러그인을 활성화했습니다.
내 워드프레스 버전: 4.4.2
드디어 해결책을 찾았습니다..htaccess 파일에 수동으로 새로운 옵션을 추가해야 했는데 플러그인이 성공하지 못했습니다.
코드:
# BEGIN WP BASIC Auth
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /PluginTest/
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
</IfModule>
# END WP BASIC Auth
서버에서 사용자 데이터를 가져오는 것이 문제가 아니라고 생각하지만 이 오류 코드는 인증 문제에 대한 사용자 기능이 있거나 역할이 관리자가 아닐 수 있습니다.
자세히 보기 위해서
wp-content/plugins/rest-api/lib/ endpoints/ class-wp-rest-users-controller.
public function get_item_permissions_check( $request ) {
$id = (int) $request['id'];
$user = get_userdata( $id );
$types = get_post_types( array( 'public' => true ), 'names' );
if ( empty( $id ) || empty( $user->ID ) ) {
return new WP_Error( 'rest_user_invalid_id', __( 'Invalid resource id.' ), array( 'status' => 404 ) );
}
if ( get_current_user_id() === $id ) {
return true;
}
if ( 'edit' === $request['context'] && ! current_user_can( 'list_users' ) ) {
return new WP_Error( 'rest_user_cannot_view', __( 'Sorry, you cannot view this resource with edit context.' ), array( 'status' => rest_authorization_required_code() ) );
} else if ( ! count_user_posts( $id, $types ) && ! current_user_can( 'edit_user', $id ) && ! current_user_can( 'list_users' ) ) {
return new WP_Error( 'rest_user_cannot_view', __( 'Sorry, you cannot view this resource.' ), array( 'status' => rest_authorization_required_code() ) );
}
return true;
}
이러한 오류에 직면한 모든 사람들에게 JWT 활성화 후 모든 경우(get 및 post) 헤더에서 Basic Authentication 권한을 제거하고 customer_key 및 customer_secret를 쿼리 매개 변수로 전송합니다.이것은 이상하고 불안해 보일 수 있지만 저에게는 효과가 있습니다.
언급URL : https://stackoverflow.com/questions/36470998/cant-authenticate-with-basic-authentication-using-wp-rest-api-2-0-plugin
'programing' 카테고리의 다른 글
Swift - 여러 기준을 가진 객체 배열 정렬 (0) | 2023.10.01 |
---|---|
jQuery를 사용하여 상위 요소를 삭제하는 방법 (0) | 2023.10.01 |
곱슬곱슬한 괄호는 PowerShell 변수 선언에서 의미하는 바가 있습니까? (0) | 2023.10.01 |
IDENTITY 식별자 생성기를 사용할 때 최대 절전 모드가 INSERT 배치를 사용하지 않도록 설정하는 이유는 무엇입니까? (0) | 2023.10.01 |
Wocommerce 단일 제품 페이지에 dokan 벤더 이름 표시 (0) | 2023.10.01 |