繁体   English   中英

在客户上进行GET / POST / PUT时,是否可以禁用/不使用Magento REST API上的oAuth?

[英]Any way to disable / not use oAuth on Magento's REST API, when GET/POST/PUT on customers?

我是Magento新手。 是否可以(临时?)在Magento禁用对oAuth的要求,并仍然检索客户数据。 通过REST API?

因此,基本上可以在不使用oAuth情况下通过HTTP发出GET,PUT请求?

网址: http:// magento / api / rest / customers?limit = 2

我收到“访问被拒绝(403)”错误。

注意:我能够阅读产品。

请尝试这个。可能会起作用。

转到Magento管理面板,依次选择“系统”->“ Web服务”->“ REST属性”->“选择用户类型客户”,然后选择“资源访问”作为“所有”并保存。 并立即检查: 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并更改返回(object)array('type'=> Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE,'id'=> null)返回(object)array('type'=> Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE,'id'= > 1)

这会将默认使用者设置为Admin,您将能够使用管理员权限访问所有API。 您也可以将其更改为“ customer”,并在Adapter.php中提供任何客户ID。

您需要授予访客访问客户资源的权限。

Havent尝试过了,但是我建议您扩展模块

  • 将具有etc / api2model / api2 / customer / rest /的 法师/客户复制到本地模块,以免修改核心数据。

  • 然后修改etc / api2,这样您就可以访问来宾呼叫并添加属性权限

  • api2 / customer / rest上添加所需的模型,以便guest 虚拟机可以处理回调,我猜想只需复制admin,重命名为guest 虚拟机并重命名v1中的类名即可解决问题。

您可以在Magento中为REST API实现自己的身份验证适配器,而不是oAuth。 您可以在本文中找到更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM