任何用于访客帐户的 woocommerce REST API 吗?

问题描述 投票:0回答:2

Woocommerce 提供了一个 API here,为了使用它,您必须提供具有相关授权模式的消费者密钥和消费者秘密。我无法理解的是,不应该为未经授权的/来宾用户提供 API 吗?我的意思是,我只想创建可用产品的显示页面(前端),但不需要生成 CK/CS。也在寻找类似的问题这里 看来你无法避免使用钥匙。但第二个问题出现了。前端不应使用密钥,因为这样电子商店就会暴露给客户端。那么,即使通过生成这些密钥来访问 woocommerce api,我应该如何正确使用它们?请帮助我理解流程。

wordpress rest woocommerce wordpress-rest-api
2个回答
1
投票

TLDR;

不要在前端使用 CK/CS。它仅适用于安全后端。这些密钥可用于读取/写入从产品、订单到所有客户相关信息的任何内容。

根据您的问题,我怀疑 API 可能不是完成您想做的事情的最佳方式。如果您确实需要 API,很可能您有两个相互通信的后端服务器。 API 通常供其他应用程序使用。例如,许多销售点系统都使用此 WooCommerce API。您可能想要研究

扩展 WooCommerce 插件本身并创建端点来获取您需要的信息或执行您需要的操作。

如果您不熟悉安全的经过身份验证的 API,我强烈建议您熟悉它们,因为自 WooCommerce API 以来,未能确保网站安全可能会导致网站用户的敏感个人信息泄露,造成巨大的经济损失。写入,只允许您设置对所有内容具有完全访问权限的读取或写入权限。

考虑到这一点,我将尝试一一回答您的所有问题,并告诉您应该如何使用它。

回答您的问题

我无法理解的是,不应该有一个 API 未经授权/访客用户?我的意思是,我只想创建一个显示 可用产品的页面(前端),但不需要 生成 CK/CS

我猜您的误解是您需要为每个用户使用单独的密钥。

API 密钥并不意味着为前端用户提供访问权限。 WooCommerece 插件生成的 API 密钥为任何用户提供完全读/写访问权限,以查看/修改任何信息,包括其他客户的信息。它适用于管理员。如果您检查官方 WooCommerce API 参考以了解“检索客户”,您会注意到您需要在此处提供 ID。如果您检查回复,它会显示从地址到联系信息的所有信息。 前端不应该使用密钥,因为这样电子商店 暴露给客户。因此,即使通过生成这些密钥 为了访问 woocommerce api,我应该如何正确使用 他们?

其实很简单。您只需要在前端用户和 WooCommerce API 之间进行通信即可。如果需要从 WooCommerce 端点向用户提供信息,您需要使用 CK/CS 为他们获取信息。

这样,您就可以确认哪些信息允许谁查看/修改,并且用户不需要进行身份验证。

WooCommerce Endpoints <---> Your secure backend service/middleware/controller <---> front-end user

需要注意的一件事是,您需要小心前端用户能够在对使用 WooCommerce API 密钥的服务器端点的请求中更改的参数。例如,客户不应该能够更改请求其信息的 ID。应从前端的安全身份验证信息中从后端检索 ID。
    

对于那些遇到这个问题并寻求解决方案的人。 woocommerce 中有一个相对较新的功能,称为 Woocommerce Store API,它可以完成 OP 所要求的操作。在我遇到这个 api 之前,我对 woocommerce 缺乏这样的功能感到非常悲伤。这个 API 的奇妙之处在于,它可以查看未经身份验证的事物。您可以在此 github 链接上找到文档

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.