Woocommerce使用JWT身份验证并为客户使用API

时间:2018-02-06 06:21:26

标签: woocommerce woocommerce-rest-api

我想使用JWT作为身份验证的Woocommerce REST API,我希望将API用于客户。

调查的重点是我正在iOS和Android上构建一个移动电子商务应用程序,并希望使用我现有的Woocommerce。

1 个答案:

答案 0 :(得分:0)

您可以像这样在自定义端点内吸引用户:

if (is_user_logged_in()) {
    $user = wp_get_current_user();
    if($user->exists()){
        return rest_ensure_response($user);

    }
}
return rest_ensure_response(array("data" => "no user logged in"));

上面的代码将返回来自用户的所有与用于请求的JWT令牌相关的数据,因此,如果您不想发送任何敏感数据,请务必小心。

您可以使用woocommerce Rest api https://woocommerce.github.io/woocommerce-rest-api-docs/#retrieve-an-order或插件功能从用户检索数据:

$query = new WC_Order_Query();
$query->set( 'customer', $user->data->user_email);
$orders = $query->get_orders();
$customer_orders = get_posts( array(
            'numberposts' => -1,
            'meta_key'    => '_customer_user',
            'meta_value'  => get_current_user_id(),
            'post_type'   => wc_get_order_types(),
            'post_status' => array_keys( wc_get_order_statuses() ),
) );

希望有帮助。