我正在尝试将WP REST API用于项目并创建一些自定义端点。我跟着this documentation创建了端点。但是我的身份验证方法都是指OAuth或cookie方法。我想通过身份验证从远程地址向我的自定义端点发出请求。通过标头的基本编码密码可能有效,但我不知道如何在端点上实现它。这可能吗?
答案 0 :(得分:0)
客户端点创建操作rest_api_init
身份验证用户名: - admin
和密码: - admin
身份验证检查条件if($_SERVER['PHP_AUTH_USER'] !== 'admin' || $_SERVER['PHP_AUTH_PW'] !== 'admin')
端点网址:http://localhost/demo/wp-json/myplugin_api/v1/test_endpoint
<?php
add_action( 'rest_api_init', 'myplugin_register_endpoint' );
function myplugin_register_endpoint() {
register_rest_route( 'myplugin_api/v1', 'test_endpoint', array(
'methods' => 'GET,POST',
'callback' => 'myplugin_test_endpoint',
) );
}
function myplugin_test_endpoint()
{
if($_SERVER['PHP_AUTH_USER'] !== 'admin' || $_SERVER['PHP_AUTH_PW'] !== 'admin')
{
header("WWW-Authenticate: Basic realm=\"thetutlage\"");
header("HTTP\1.0 401 Unauthorized");
$response = array(
"result"=>false,
"message"=>'Authenticate failed'
);
return $response;
exit;
}
$response = array(
"result"=true,
"message"=>'Success'
);
return $response;
}