使用WP REST的JWT身份验证创建需要身份验证的API端点的步骤如下:
以下是一个示例代码,演示如何使用WP REST的JWT身份验证创建需要身份验证的API端点:
// 注册API端点
add_action('rest_api_init', function () {
register_rest_route('myplugin/v1', '/data', array(
'methods' => 'GET',
'callback' => 'myplugin_get_data',
'permission_callback' => 'myplugin_verify_jwt',
));
});
// 验证JWT令牌
function myplugin_verify_jwt() {
$token = null;
$headers = getallheaders();
if (isset($headers['Authorization'])) {
$token = str_replace('Bearer ', '', $headers['Authorization']);
}
if ($token) {
$result = jwt_auth_validate_token($token);
if (!is_wp_error($result) && $result['data']) {
return true;
}
}
return new WP_Error('jwt_auth_invalid_token', __('Invalid token', 'myplugin'), array('status' => 401));
}
// 获取数据
function myplugin_get_data() {
$data = array(
'message' => 'This is a protected API endpoint',
'data' => 'Your data here',
);
wp_send_json($data);
}
这个示例代码创建了一个名为/myplugin/v1/data
的API端点,使用GET方法访问时需要进行JWT身份验证。你可以根据自己的需求修改端点URL、请求方法和返回的数据。
注意:在实际使用中,你需要根据你的具体需求和环境进行适当的安全性和错误处理。此外,你还可以使用其他相关的WordPress插件或库来简化JWT身份验证的实现。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云对象存储(COS)、腾讯云数据库(TencentDB)等。你可以在腾讯云官网上找到这些产品的详细介绍和文档。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云