gpt4 book ai didi

php - 具有 WooCommerce 身份验证的 WordPress 自定义 API

转载 作者:行者123 更新时间:2023-12-04 07:55:02 24 4
gpt4 key购买 nike

我已经在 WordPress 中创建了自定义 API,并且我正在此 API 中获取 WooCommerce 订阅数据,并且其工作正常,符合我的要求。

但是,现在我想在此 API 中添加基本身份验证,它可以像其他 WooCommerce API 端点一样检查消费者 key 和 secret 。

这是我的示例 API,我想在其中检查基本身份验证。

// Action to execute Rest API routes
add_action('rest_api_init', function () {

// Getting Product data based on subscription id
register_rest_route('getproductdata', '/(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'getProductData',
));
});


function getProductData($request) {
// I WANT TO CHECK BASIC AUTHENTICATION HERE BEFORE EXECUTING BELOW CODE


die('inside my api');
}

我已经检查过这个https://woocommerce.github.io/woocommerce-rest-api-docs/#authentication-over-httphttps://wordpress.stackexchange.com/questions/355041/how-to-authenticate-custom-api-endpoint-in-woocommerce这个网址,但我还没有找到合适的方法或过滤器或教程来完成我的要求。

至少有人可以指导我如何在此处添加身份验证..任何建议将不胜感激。

谢谢

最佳答案

在这种情况下,您可以使用permission_callback键:

// Action to execute Rest API routes
add_action('rest_api_init', function () {

// Getting Product data based on subscription id
register_rest_route('getproductdata', '/(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'getProductData',
'permission_callback' => 'restCheckUser'
));
});


function getProductData($request) {
// I WANT TO CHECK BASIC AUTHENTICATION HERE BEFORE EXECUTING BELOW CODE


die('inside my api');
}

function restCheckUser(WP_REST_Request $request) {
if ('get_token_from_database' === $request->get_param('token')) {
return true;
}
return false;
}

完整文档在这里 - https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/

关于php - 具有 WooCommerce 身份验证的 WordPress 自定义 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66740296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com