Search code examples
phpwordpressrestauthenticationwordpress-rest-api

Can't authenticate with basic authentication using WP REST API 2.0 plugin


I'm having an issue with basic authentication.

Trying to send a GET request with Postman (chrome plugin) using the following url: http://_MY_WEBSITE_URL_/wp-json/wp/v2/users/3

The username and the password field is filled with the site's admin user credentials.

The error I get:

{
    "code": "rest_user_cannot_view",
    "message": "Sorry, you cannot view this resource.",
    "data": {
        "status": 401
    }
}

I tried the basic authentication using wp_remote_request from another website, and with CURL too, but the results are the same every time.

The user with id 3 exists, I have checked it. If I want to list all of the users, I get only those who have posts created.

I have activated the required plugins: WP REST API, JSON Basic Authentication.

My wordpress version: 4.4.2


Solution

  • Finally, I figured out the solution. I had to add some new options manually to my .htaccess file, the plugin didn't make it.

    The code:

    # 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