我是 Magento 新手。 是否可以(暂时?)禁用 Magento 中的 oAuth 要求并仍然检索客户数据。通过 REST API?
那么基本上能够在不使用 oAuth 的情况下通过 HTTP 发出 GET、PUT 请求?
网址:http://magento/api/rest/customers?limit=2
我收到访问被拒绝(403)错误。
注意:我能够阅读产品。
请尝试这个。也许它有效。
转到 Magento 管理面板,系统 -> Web 服务 -> REST 属性 -> 选择用户类型客户,然后选择资源访问权限为 ALL 并保存。 现在检查:http://magento/api/rest/customers?limit=2
您可以转到 app/code/core/Mage/Api2/Model/Auth.php 并将 const DEFAULT_USER_TYPE = 'guest' 更改为 const DEFAULT_USER_TYPE = 'admin' 并转到 app/code/core/Mage/ Api2/Model/Auth/Adapter.php 并将 return (object) array('type' => Mage_Api2_Model_Auth::DEFAULT_USER_TYPE, 'id' => null) 更改为 return (object) array('type' => Mage_Api2_Model_Auth ::DEFAULT_USER_TYPE, 'id' => 1).
这会将默认使用者设置为管理员,您将能够以管理员权限访问所有 API。您还可以将其更改为“客户”并在 Adapter.php 中提供任何客户 ID。
您需要授予访客访问客户资源的权限。
还没有尝试过,但我建议你扩展模块
将 mage/customer 与 etc/api2 和 model/api2/customer/rest/ 复制到本地模块,这样就不会修改核心数据。
然后修改 etc/api2 以便您可以通过访客调用进行访问并添加属性权限
在 api2/customer/rest 上添加所需的模型,以便 guest 可以处理回调,我猜只需复制 admin,重命名为 guest 并重命名 v1 中的类名就可以了。
您可以在 Magento 中为 REST API 实现自己的身份验证适配器,而不是 oAuth。您可以在这篇文章中找到更多详细信息。