WP REST API GET请求需要身份验证

时间:2020-03-09 作者:P.Works

有没有办法要求对WP REST API GET请求进行身份验证?

我调查的人总是添加一个命令,如果is_user_logged_in(). 但它完全关闭了这些外部查询。我的目的是让拥有oAuth令牌的人可以请求GET。

1 个回复
SO网友:James Whayman

我今天一直在研究一个类似的问题。以下是我所做的:

add_filter(\'rest_dispatch_request\', function($dispatch_result, $request, 
$route, $handler) {
    if (!is_user_logged_in()) {
        $dispatch_result = new WP_Error(
            \'rest_not_logged_in\',
            __( \'You are not currently logged in.\' ),
            array( \'status\' => 401 )
        );
    }

    return $dispatch_result;
}, 10, 4);
您可能需要使用$处理程序来确定要限制哪些请求。

相关推荐

在哪里存储OAuth 2.0客户端ID和密码?

我正在我的一个WordPress站点中构建一些与第三方API集成的功能,该API使用OAuth 2.0。每次我需要一个新的访问令牌时,我都会使用客户端ID和密码,因为访问令牌在24小时后过期,所以每天至少会使用一次。(生成新的访问令牌也会生成新的刷新令牌,并且先前的刷新令牌将无效。)我将令牌与expires\\u一起存储在数据库的options表中。我应该在哪里存储我的客户ID和机密?WordPress中有没有一个典型的地方可以存储这样的东西?现在我只是在wp配置中定义了它们。php。虽然我认为这应该可以